Depoda bir sürü taahhütüm var. SHA1'den SHA2'ye kadar iki komut arasında değiştirilen dosyaların bir listesini görmek istiyorum.
Hangi komutu kullanmalıyım?
git diff --name-only SHA1 SHA2
burada yalnızca taahhütleri tanımlamak için yeterli SHA eklemeniz gerekir. Ayrıca şunları da yapabilirsiniz, örneğin
git diff --name-only HEAD~10 HEAD~5
en son onuncu işlem ile en son beşinci işlem arasındaki farkları görmek için.
git diff --name-status [SHA1 [SHA2]]
dosyaya ne olduğunu (değiştirildi, silindi, eklendi...) söyleyen basit bir önek almanız dışında --name-only gibidir
git log --name-status --oneline [SHA1..SHA2]
benzerdir, ancak commit'ler commit mesajından sonra listelenir, böylece bir dosyanın ne zaman değiştirildiğini görebilirsiniz.
Eğer belirli dosyalara/klasörlere ne olduğunu merak ediyorsanız, git log
versiyonuna -- <dosya adı> [<dosya adı>...]
ekleyebilirsiniz.
tek bir commit için ne olduğunu görmek istiyorsanız, buna SHA1 deyin, sonra şunu yapın
git log --name-status --oneline [SHA1^..SHA1]
Dosya durum bayrakları:
M değiştirildi - Dosya değiştirildi
C copy-edit - Dosya kopyalandı ve değiştirildi
R rename-edit - Dosya yeniden adlandırıldı ve değiştirildi
A eklendi - Dosya eklendi
D silindi - Dosya silindi
U birleştirilmemiş - Dosyada birleştirme sonrasında çakışmalar var
Ancak dalınız ile başka bir dalla (örneğin origin/master) ortak atası arasında değiştirilen dosyaları görmek için:
git diff --name-only `git merge-base origin/master HEAD`