Ben seçilen kaydedilmesini görüntülerken tek modifiye dosya olarak <path>
, git listeleri <path>
modifiye kaydedilmesini Günlüğü sınırlamak için git log --stat
ile <path>
argüman kullanırlar. Seçilen her işlem için numaralı değiştirilmiş yollarını listelemek isterim. ÖrneğinNasıl yapılır? Git log --stat - <path> `show * all * dosyaları seçilen varlıklar içinde?
: İkinci git log
, yol argümanı a.txt
ile aslında "2 dosya değişti" ne zaman , "1 dosya değişti" diyor
$ echo test > a.txt
$ echo test > b.txt
$ git add a.txt b.txt
$ git commit -m test
[...]
2 files changed, 2 insertions(+), 0 deletions(-)
[...]
$ git log -n1 --stat
[...]
a.txt | 1 +
b.txt | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
$ git log -n1 --stat -- a.txt
[...]
a.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
Not. öğesinin a.txt
ve b.txt
öğelerinin değiştiğini ve yolunun a.txt
yolunu temel almayı seçtiğini belirtmek isterim.
GÜNCELLEME: @jacknagel sorumu yanıtladı, ancak çözümünün gerçek kullanım durumumda çalışmadığı görülüyor. Gerçek kullanım durumumda, iki ilgili projenin ayrıldığı bir durumda, yeniden adlandırılanlar dahil bir dosyayı değiştiren tüm işlemleri arıyorum. Bir projede hangi değişikliklerin, diğer projede (yapılması gerek) ilgili değişiklikleri ima ettiğini anlamaya ihtiyacım var. Ne yazık ki, --full-diff
ve --follow
'u aynı anda kullanmaya çalıştığımda git
şikayet ediyor.
Yani, benim gerçek durumda, ben yönetmeye çalışıyorum :
git log --stat --follow -- a.txt
ve bu durumda çalışan bir çözüm olduğunu:
git log --format='%H' --follow -- a.txt | xargs git show --stat -C
bana çok mantıklı değil sormak herneyse. Bir komuta, yapılması amaçlanandan farklı bir şekilde davranmayı nasıl beklersiniz? Dosya adını verdiğinizde, bu dosyanın ayrıntılarını tek başına almasını söylüyorsunuz. Her iki şeyi de göstermek istiyorsanız, o zaman – positron
@positron komutunu kullanın: İlgi alanlarını tanımlamak için dosya adını kullanıyorum, ancak bu işlemler için tam bilgi istiyorum. Özünde, ilgili diğer * bilinmeyen * dosya adlarını tanımlamak için verilen dosya adını kullanıyorum. Yani diğer dosyaları söyleyemem çünkü ne olduklarını bilmiyorum. – ntc2
Yanıtınızı eklemek için * sorunuzu * düzenlemek yerine, kendi sorunuz olsa bile StackOverflow yöntemi bir cevap eklemektir. Ben doğru cevabı eklemenin özgürlüğünü aldım, ama kendiniz yayınlarsanız memnuniyetle sileceğim. – djeikyb