SORU
13 EKİM 2011, PERŞEMBE


git diff dosyası değiştirildi

Dosya a.txt var.

cat a.txt
> hello

A.txt içeriği "" Merhaba

Bir tamamlama yapıyorum.

git add a.txt
git commit -m "first commit"

Ben o zaman bir test dir içine a.txt hareket ettirin.

mkdir test
mv a.txt test

O zaman benim ikinci bir anlaşma yapmalısınız

git add -A
git commit -m "second commit"

Son olarak, ben a.txt hoşçakal yerine say için düzenleyin

cat a.txt
> goodbye

Benim son tamamlama yapıyorum

git add a.txt
git commit -m "final commit"

Şimdi burada benim sorum:

Nasıl benim son arasında a.txt içeriği ve benim ilk işlemek işlemek diff?

Denedim: git diff HEAD^^..HEAD -M a.txt, ama işe yaramadı. git log --follow a.txt düzgün bir şekilde yeniden algılar, ama git diff için bir eşdeğer bulamıyorum. Kimse yok mu?

CEVAP
13 EKİM 2011, PERŞEMBE


Bu konu ile arasındaki fark HEAD^^ HEAD olan bir a.txt hem tamamlar, bu yüzden dikkate bu iki kaydeder (ne olduğu fark etmez), Yeniden Adlandır, kopyala ve değiştir.

Kopya tespit etmek, -C kullanabilirsiniz:

git diff -C HEAD^^ HEAD

Sonuç:

index ce01362..dd7e1c6 100644
--- a/a.txt
    b/a.txt
@@ -1  1 @@
-hello
 goodbye
diff --git a/a.txt b/test/a.txt
similarity index 100%
copy from a.txt
copy to test/a.txt

Bu arada, eğer kısıtlamak senin diff için bir yol olarak yapmak git diff HEAD^^ HEAD a.txt değil mi hiç görmeye gidiyoruz yeniden adlandırır veya kopya çünkü sen zaten dışlanan her şeyin dışında bir tek yolu ve yeniden adlandırır veya kopya - tanım gereği - iki yol içerir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Amazon Web Services

    Amazon Web S

    8 NİSAN 2009
  • CruzerLite

    CruzerLite

    1 EKİM 2011
  • Kamikazeepanda

    Kamikazeepan

    5 ŞUBAT 2006