Bagaimana cara mendaftar berkomitmen sejak komit tertentu?

144

Apakah ada pula untuk mendapatkan daftar komit dari nomor komit yang diberikan ke HEAD?

Saya tahu ini mungkin pada tanggal komit, tetapi saya membutuhkannya dengan nomor komit dan sepertinya saya tidak dapat menemukan dokumentasi, atau bahkan jika ini mungkin.

ehftwelve
sumber
Apa perintah Git yang Anda gunakan untuk membuat daftar commit dari nama komit yang diberikan?
Greg Hewgill
Maksudmu melakukan hash, kan? Anda juga dapat menggunakan yang HEAD~10berarti "10 komit sebelum HEAD" sehingga Anda dapat melakukannya git log HEAD~10.., jika itu yang Anda maksud dengan angka komit.
Cascabel

Jawaban:

174
git rev-list <since_hash>..HEAD

atau untuk memasukkan komit:

git rev-list <since_hash>^..HEAD

Anda dapat menggunakan git logalih-alih git rev-listjuga untuk mendapatkan detail tambahan.

manojlds
sumber
Ini bekerja dengan baik untuk saya, terima kasih! Saya bersumpah bahwa saya telah mencoba ini. Pasti membuat kesalahan.
ehftwelve
@manojlds Saya tahu itu HEADmenunjuk ke komit yang terakhir, tetapi apa artinya^
Kasun Siyambalapitiya
2
@KasunSiyambalapitiya ^adalah alias untuk orang tua pertama. Lihat "SPESIFIKASI REVISI" di kernel.org/pub/software/scm/git/docs/git-rev-parse.html - juga lihat manual git-scm.com/book/en/v2/Git-Tools-Revision -Pemilihan - atau stackoverflow.com/questions/2221658/…
Michaelangel007
2
Saya mendapatkan daftar besar SHA ... bahkan untuk komit yang hanya satu punggung (satu kaki gabungan). Apa yang dikatakannya kepada saya dan bagaimana itu berguna?
ErikE
Jika Anda hanya peduli dengan jumlah komitmen, Anda dapat menentukan --countopsi setelah rev-list. yaitu:git rev-list --count <since_hash>..HEAD
Jon Schneider
75
git log <hash>..

Adalah jumlah pengetikan yang paling sedikit. Menghilangkan "KEPALA" mengasumsikan bahwa itulah yang Anda maksudkan. Rev-list akan bekerja juga.

Adam Dymitruk
sumber
2
Yang ini favorit saya. Saya suka menggabungkannya dengan --oneline. Alih-alih <hash>, tentu saja, Anda dapat menggunakan referensi seperti nama cabang juga.
codener
2
Di git log HEAD~#..mana #juga jumlah komit terbaru yang diinginkan.
user3.1415927
def pilihan terbaik dan paling ringkas!
Ricardo Rodrigues
37

Anda dapat menjalankan perintah git berikut dari shell:

git log --pretty=oneline commit-id...HEAD
Matthieu
sumber
12

Dengan asumsi bahwa dengan "nomor komit", maksud Anda komit:

git log <commit-hash>..HEAD
hammar
sumber
1

Jika ada orang di sini yang mencoba mencari cara KURANG melalui output git logmulai dari komit tertentu, mundur ke halaman, itu sesederhana git log <hash>.

Matthew Hinea
sumber