SORU
10 EYLÜL 2008, ÇARŞAMBA


Nasıl git bir şube üzerinde değişiklik olsun

Mevcut şube dallı olduğu zamandan beri bir şube üzerinde işleyen bir oturum almak için en iyi yolu nedir? Benim çözüm şu ana kadar

git log $(git merge-base HEAD branch)..branch

git-diff belgeleri git diff A...B git diff $(git-merge-base A B) B eşdeğer olduğunu gösterir. Diğer taraftan, git-rev-parse belgeleri r1...r2 r1 r2 --not $(git merge-base --all r1 r2) olarak tanımlandığını belirtir.

Neden bu farklı? git diff HEAD...branch benim istediğim farklar verir, ama karşılık gelen git log komutu istediğimin bana verir unutmayın.

Resimleri, bu düşünün:

         x---y---z---branch
        /
---a---b---c---d---e---HEAD

Bir günlük içeren almak istiyorum işleyen x, y, z.

  • git diff HEAD...branch Bu taahhüt verir
  • ancak, git log HEAD...branch verir x, y, z, c, d, e.

CEVAP
10 EYLÜL 2008, ÇARŞAMBA


git-rev-parse tanımlar nasıl bir revizyon listesi kapsamında A...B. git-revizyon günlüğü listesi alır. git-diff düzeltmeleri - bir veya iki incelemesi gereken bir liste almaz, ve A...B sözdizimi git-diff kılavuz tanımlanmış ne demek tanımladı. Eğer git-diff açıkça A...B, define mi yoksa sonra bu sözdizimi geçersiz olacaktır. Not git-rev-parse kılavuz açıklanır A...B "Aralık Belirleme" bölümünde, ve her şey bu bölüm sadece geçerli durumlarda bir revizyon aralığı geçerli (yani bir revizyon listesi istenen).

Bir günlük x, y ve z içeren almak için deneyin git log HEAD..branch (iki nokta, üç değil). Bu git log branch --not HEAD, aynıdır ve tüm bu KAFA değil mi şubesinden taahhüt anlamına gelir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • karneson

    karneson

    23 Temmuz 2006