SORU
31 AĞUSTOS 2011, ÇARŞAMBA


Çift nokta arasındaki farklılıklar&;.." quot; ve üç nokta ne "..." Git diff tamamlama aralıkları?

Aşağıdaki komutları arasındaki farklar nelerdir?:

git diff foo master   # a 
git diff foo..master  # b
git diff foo...master # c

The diff manual hakkında konuşuyor:

Dalları karşılaştırılması

$ git diff topic master    <1>
$ git diff topic..master   <2>
$ git diff topic...master  <3>
  1. Konunun ipuçları ve ana dallar arasında değişir.
  2. Yukarıdaki gibi.
  3. Konu Dalı oldu ne zamandan beri ana dalda meydana gelen değişiklikleri başladı.

ama bana tamamen açık değil.

CEVAP
31 AĞUSTOS 2011, ÇARŞAMBA


Beri bilirdim zaten yaratılan bu görüntüler, sandım ki değeri kullanarak onları başka bir cevap, ancak açıklama arasındaki fark .. (nokta-nokta) ve ... (nokta-nokta-nokta) aslında aynı manojlds's answer.

git diff typically1 sadece tam olarak iki nokta arasındaki ağacın Birleşik Devletleri arasındaki farkı gösterir komutu grafik işlemek. git diff .. ... gösterimler aşağıdaki anlamları vardır:

An illustration of the different ways of specifying commits for git diff

Başka bir deyişle tam olarak git diff foo bar; her ikisi de aynıdır sana iki dal uçları arasındaki farkı gösterir foo bar. Diğer taraftan, git diff foo...bar size gösterecektir arasındaki fark "" iki kolu ve bar ucu. birleştirme Bankası "Birleştirme Bankası" genellikle son commit ortak arasında bu iki dal, bu yüzden bu komut size gösterecektir değişiklikleri bu iş üzerinde bar vardır tanıttı, süre görmezden gelerek her şey yapıldı foo ortalama zaman.

git diff .. ... gösterimler hakkında bilmeniz gereken her şey. Ancak...


... bir ortak kaynak karışıklığı işte bu .. ... yani kurnazca farklı şeyler yaparken kullanılan bir komutu gibi git log beklediği bir dizi taahhüt olarak bir veya daha fazla bağımsız değişken. (Bu komutlar git rev-list kendi bağımsız işleyen bir listesini ayrıştırmak için kullanıyor olacağız.)

.. git log ... anlamını aşağıdaki gibi grafiksel olarak gösterilebilir:

An illustration of the different ways of specifying ranges of commits for git log

Yani, git rev-list foo..bar ayrıca şube bulunmayan bar şube her şey foo gösterir. , git rev-list foo...bar öte yandan gösterir foo da bulunan tüm tamamlaryabar amaikisi de değil. Üçüncü diyagram sadece iki dalları listesi varsa, bu ikisinden birini ya da her ikisini de içinde yapmakta olduğunu gösterir.

Bu biraz kafa karıştırıcı buluyorum, her neyse, grafik ve şemalar yardım:) tamamlama bence

1 ben sadece "genellikle" ne zamandan beri birleştirme çakışmaları çözme, örneğin, git diff üç yollu birleştirme size gösterecektir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DJAndrewRyan

    DJAndrewRyan

    22 Ocak 2007
  • EmmightySofia

    EmmightySofi

    25 EYLÜL 2011
  • Michael Lummio

    Michael Lumm

    25 Mayıs 2007