2012-03-19 17 views
6

Örneğin,İki dal farklı olduğunda, ancak her iki dalda yeni hiçbir işlem yapılmazken neden değişmez?

Ana dalımın içinde bir şeyler var. other_branch adlı başka bir dalın içinde + + fazla_stuff var. Her dalın işlemesi gereken bir şey yoktur.

Eğer master'ı kontrol edersem, other_branch'i birleştirmeye çalışırsanız, git "Zaten güncel" yazıyor. ve hiçbir şey olmuyor. Bu durumda, neden daha fazla_stuff ana olarak birleştirilmeyecek? Git nasıl dizayn edilmişti?

NOT: other_branch, daha eski bir master işleminden oluşturuldu.

cevap

6

Çok basit. Git "Zaten güncel" diyorsa, dallar ayrılmadığı anlamına gelir. Şubelerden en az birinin diğer şubenin sahip olmadığı bir taahhüt içermesi durumunda iki şube ayrıştırılmıştır.

Neyi kastettiğinizi bildiğinizden emin değilim + more_stuff. Eğer yeni dosyalar eklediyseniz (veya mevcut dosyaları değiştirdiyseniz) ve “git add” ve “git commit” komutlarını kullandıysanız other_branch geçmişi ana daldan ayrılacaktır. Git birleşme konusunda hiçbir değişiklik olmadığını söylediğinden, tarih o dalda değişmedi, yani hiçbir şey yapmadınız.

+2

Oh, anladım. Yeni başlayanlar için pek belirgin değil. other_branch, master ile aynı taahhütleri içerdiğinden, daha eski bir ustalık taahhüdünden başlattım. Kafam karıştı, çünkü diğer dosyaları kontrol ettiğimde farklı dosyalar görüyorum, bu yüzden git birleştirme dosyaları ustalıkla birleştirir diye düşündüm. Şimdi nasıl çalıştığını anlıyorum. git birleştirme, mevcut çalışma ağacını değil, taahhütleri temel alır. – trusktr

2

Yalnızca birleştirmeye çalıştığınız dal, geçerli dalda zaten mevcut olduğunda gerçekleşir.

Belirtmiş olduğunuz more_stuff zaten ana dalda.

Şubelerinizin görsel ağacını kontrol etmek için gitk kullanabilirsiniz.

+0

gitk? Bu ne olduğunu bilmiyorum –

+0

Bu varsayılan git GUI. [Daha fazla bilgi burada.] (Https://git-scm.com/docs/gitk) –

İlgili konular