Belirli taahhütlerden bu yana taahhütleri nasıl listeleyebilirim?


144

Belirli bir taahhüt numarasından HEAD'e verilen taahhütlerin bir listesini almak için yine de var mı?

Bu işlemin bitiş tarihine göre mümkün olduğunu biliyorum, ancak işlem numarasına ihtiyacım var ve herhangi bir belge bulamıyorum veya bu mümkün olsa bile.


Belirli bir tamamlama adından gelen taahhütleri listelemek için hangi Git komutunu kullanıyordunuz?
Greg Hewgill

Karma hash demek istiyorsun, deđil mi? Ayrıca HEAD~10"HEAD öncesi 10 taahhüt" anlamına da gelebilir, böylece bunu git log HEAD~10..taahhüt numarasıyla kastediyorsanız, yapabilirsiniz.
Cascabel

Yanıtlar:


174
git rev-list <since_hash>..HEAD

veya taahhüdü dahil etmek için:

git rev-list <since_hash>^..HEAD

Sen kullanabilirsiniz git logyerine git rev-listek bilgi almak için de.


Bu benim için mükemmel çalıştı, teşekkürler! Yemin ederim bunu denemiştim. Bir hata yapmış olmalı.
ehftwelve

@manojlds Son taahhütlere HEADişaret ettiğini biliyorum , ama anlamı nedir^
Kasun Siyambalapitiya

2
@KasunSiyambalapitiya ^ilk ebeveyn için bir takma addır . İçinde "REVISIONS BELİRLEYEN" Bkz kernel.org/pub/software/scm/git/docs/git-rev-parse.html - ayrıca manuel bakınız git-scm.com/book/en/v2/Git-Tools-Revision -Seçim - veya stackoverflow.com/questions/2221658/…
Michaelangel007

2
Çok büyük, çok büyük bir SHA listesi elde ediyorum ... sadece bir arkada (bir birleşmenin tek ayağı) bile. Bana ne anlatıyor ve bu nasıl faydalı?
ErikE

Sadece taahhütlerin sayısını önemsiyorsanız , --countseçeneği sonradan belirleyebilirsiniz rev-list. ie:git rev-list --count <since_hash>..HEAD
Jon Schneider

75
git log <hash>..

En az miktarda yazımdır. "HEAD" ifadesini atlamak demek istediğinizi varsayar. Rev-list de işe yarar.


2
Bu benim favorim. Ben onu birleştirmeyi seviyorum --oneline. Bunun yerine, <hash>elbette, şube adı gibi bir ref de kullanabilirsiniz.
codener

2
Ayrıca istenen son taahhütlerin sayısı git log HEAD~#..nerede #.
user3.1415927

en iyi ve en kısa seçenek def!
Ricardo Rodrigues

37

Kabuktan aşağıdaki git komutunu çalıştırabilirsiniz:

git log --pretty=oneline commit-id...HEAD

12

"İşlem sayısı" ile varsayım karması anlamına gelir:

git log <commit-hash>..HEAD

1

Buradaki herhangi biri, git logbelirli bir taahhütte başlayıp geriye doğru sayfalama çıktısı yoluyla nasıl DİNLENECEĞİNİ öğrenmeye çalışıyorsa , bu kadar basittir git log <hash>.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.