Belirli bir dosya için (tüm şubelerdeki) tüm kayıtları listeleyin


96

Bu soru, belirli bir dosya için tüm kayıtları listele ile yakından ilgilidir, ancak farklıdır. Tüm şubelerdeki hangi işlemlerin belirli bir dosyayı değiştirdiğini bulmak istiyorum .

Daha karmaşık hale getirmek için, verilen dosya çalışma ağacında olabilir veya olmayabilir.

Yanıtlar:


118

Bunu dene:

git log --all -- path

8
Nb. --full-historytam olarak ne görmek istediğinize bağlı olarak seçeneğe ihtiyacınız olabilir : git-log veya gitrevisions manpages'da geçmiş basitleştirme ile ilgili bölüme bakın.
Jakub Narębski

Bir GUI kullanmak istemediğinizi varsayarak, kesinlikle doğru cevap.
Matt Setter

55

Gitk kullanabilirsiniz

gitk --all <path to file> (you need to install gitk)

Örneğin

gitk --all -- /home/kit.ho/project/abc.txt


1
Cevabımın neden reddedildiğini bilmiyorum, ancak sizinki, sorunun özellikle tüm şubelerde kayıt istediğini düşünmüyor. Sadece OP'nin zaten bağlantılı olduğu cevabı veriyorsunuz.
manojlds

2
Olumsuz seçmen değildim, ancak bunun --allmevcut daldan daha fazla tarihe geçmesi için bir veya benzer bir şeye ihtiyacı var .
wjl

Neden olumsuz oylar? Bu gayet iyi çalışıyor. Her iki cevap da doğru. Biri metin konsolu için, diğeri gitk GUI için çalışıyor. İkisini de doğru olarak işaretleyebilir miyim?
Saurabh Nanda

@Saurabh Nanda: Sizin için yararlı olduğunu düşündüğünüz kişiyi işaretleyin.
Kit Ho

@saurabh - Bu cevap düzenlenmiştir. Kit Ho - Düzenlemekte olduğunuzdan bahsedin. Ve her iki cevabın da başlangıçta doğru olduğunu gösteriyor.
manojlds

49

Komut satırı

Git log ile grafik seçeneğini eklemenizi şiddetle tavsiye ederim:

git log --graph --all -- <filename>

git log --graph --all - <dosya adı>

Gui

Gitk oldukça eski bir araçtır ve her zaman yüklenmez, örneğin SourceTree gibi farklı bir ücretsiz araç öneririm:

SourceTree


7
SourceTree'de bir dosya nasıl kaydedilir ve dal grafiği nasıl gösterilir? Bir dosyaya sağ tıklayın ve "Seçileni Günlüğe Kaydet ..." seçeneğini seçin, tüm dallarda geçmişi göstermez.
aleung
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.