SORU
11 Mart 2010, PERŞEMBE


Git, squash birleştirme ve rebase arasındaki fark nedir?

Git yeniyim ve bir kabak ve bir rebase arasındaki farkı anlamaya çalışıyorum. Anladığım kadarıyla bir rebase yaparken bir kabak gerçekleştirin.

CEVAP
11 Mart 2010, PERŞEMBE


Her iki git merge --squash git rebase --interactive "" işlemek. ezilmiş üretebilir
Ama farklı amaçlara hizmet ederler.

üzerinde herhangi bir iz olmadan hedef şube üzerinde ezilmiş bir taahhüt verecek ilişkisi birleştirme.
Bu kaynak Şubesi tamamen, (şema SO question alınan) dan atmak isterseniz: yararlıdır

      X                   stable
     /                   
a---b---c---d---e---f---g tmp

için:

      X-------------------G stable
     /                   
a---b---c---d---e---f---g tmp

ve sonra tmp şube silme.

ya da sizin yeni bir temel üzerinde işleyen bazı tekrarları, seni ezmek için izin (ya da daha yakın zamanda "yukarı", bakın bu SO question) düzeltme, doğrudan gitmek:

      stable
      X-------------------G tmp
     /                     
a---b

Eğer squash seçerseniz tüm tmp (ama merge --squash, aksine bazı tekrar ve diğerlerini ezmek için seçebilirsiniz) tamamlar.

Yani farklar vardır:

  • kaynak şube (tmp) dokunmatik yok ve istediğiniz yere tek bir taahhüt oluşturur.
  • diğer yapmanızı sağlaraynı kaynaktan şube devamile:
    • yeni bir üs
    • temiz bir geçmiş

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bobinire

    bobinire

    24 EYLÜL 2006
  • Google Developers

    Google Devel

    23 AĞUSTOS 2007
  • Vortez

    Vortez

    27 Temmuz 2009