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

  • GirlSanctuaryBlog

    GirlSanctuar

    28 Aralık 2011
  • Liam Underwood

    Liam Underwo

    19 Mayıs 2009
  • The Fashion Sight

    The Fashion

    22 AĞUSTOS 2011