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

  • JonnyEthco

    JonnyEthco

    5 EKİM 2006
  • The Pet Collective

    The Pet Coll

    5 Ocak 2012
  • Visual Life

    Visual Life

    3 Temmuz 2006