Git konu dalı nedir?


137

Git konu dalı nedir? Sıradan bir daldan bir şekilde farklı mı? Konu dalı olmayan şubeler var mı?

Yanıtlar:


114

Konu dalları yerel oluşturmak olduğunu tipik hafif dallarıdır ve anlamlı bir isim olduğunu size . Bunlar, tamamlanması biraz zaman alan bir hata düzeltmesi veya özellik (özellik dalları olarak da adlandırılır) için çalışabileceğiniz yerdir.

Başka bir dal türü "uzak dal" veya "uzaktan izleme dal" dır. Şube Bu tür birileri gelişimini izler başka çalışmaları ve kendi depoda saklanır. git fetchBaşka bir yerde neler olup bittiğini izlemek için bu dalı (kullanarak ) düzenli olarak güncellersiniz . Diğer herkesin değişikliklerini yakalamaya hazır olduğunuzda, git pullhem getirme hem de birleştirme için kullanabilirsiniz.

Ayrıca, aynı depodaki tamamen ayrı bir dosya ağacı olan başka bir dal türü gördüm. Örneğin, Git deposunun kendisi , ana daldan tamamen farklı içerikler içeren man ve html adlı başlıklar içerir . Bu tür dallara genellikle ne denir bilmiyorum.


6
Ortak bir ata olmadan iki şubenin nasıl bulunacağını araştırıyordum
Nicolas


1
Neden bir konu şubesinin yerel olması gerektiğini söylüyorsunuz? Bir konu dalını zorlamak istemeyeceğinizi düşünmek için hiçbir neden yoktur. Benzer şekilde, diğer geliştiriciler kendi konu dallarını oluşturabilir ve siz onları çekmek istersiniz. Bu cevap, dalların tamamen ilgisiz iki özelliğini karıştırıyor gibi görünüyor: bir dalın yerel olup olmadığı, bir konu dalı olup olmadığıyla hiç ilgili değil.
Jean-Paul Calderone

Jean-PaulCalderone @: Ben konu dalları söylediğini sanmıyorum sahip yerel olmak. Bir konu dalını, üzerinde çalışan birden fazla geliştirici varsa elbette uzaktan izleyebilirsiniz.
Greg Hewgill

2
Bence cevap bunu ima ediyor. Neden "... yerel olarak oluşturuyorsunuz ..." ve "... sizin için anlamlı bir adınız var." bir "konu dalı" nı oluşturan şeyin gerçek bir parçası? Cevabınızın ilk cümlesi, bunların bir konu dalının önemli özellikleri olduğunu, ancak her ikisinin de bir dalın "konu" suna dik olup olmadığını kuvvetle göstermektedir. "Uzak dallar" ı açıkladığınız aşağıdaki paragraf, bir konu dalının "yerel olarak oluşturuldu" bölümünün önemli olduğu fikrini tekrar güçlendirir. Bu ilgisiz şube özelliklerini vurgulamak için bu cevaba yeniden odaklanmanızı öneririm.
Jean-Paul Calderone

81

Teknik bir terim değil; yalnızca belirli bir özelliği uygulamak veya bir hatayı düzeltmek için oluşturulmuş bir dalı ifade eder. "Konu" esasen dalın oluşturulmasının sebebidir.


2
Evet. şubeleriniz olduğu kişisel bir şubenin aksine: bob, alice, mat, vb.
webmat

... konu başlığı ve özellik dalı aynı şeyler, değil mi?
Betlista

@Betlista Aşağı yukarı evet.
mipadi

28

https://github.com/dchelimsky/rspec/wiki/Topic-Branches bunu iyi açıklıyor:

“Konu” dalı, tek bir “konu” (hata düzeltmesi, yeni bir özellik veya deneysel bir fikir) üzerinde çalışırken kullandığınız ayrı bir daldır. Doğrudan “master” ın üstünde bir konu dalı üzerinde çalışmak önerilir, çünkü:

{... ziyaret bağlantısı ...}

Bu nedenle, tüm bu nedenlerden dolayı, tek taahhütlü hata düzeltmeleri ve benzerleri gibi basit katkılar için bile sunum hazırlamak için bir konu dalı kullanılması önerilir.

Bu örnek ayrıca örnekler vermektedir. Bu beni gerçekten düşündürdü, muhtemelen çoğu dükkan zaten bunu yapıyor. Şimdiye kadar birlikte olduğum çevik projelerin hepsi bunu yapıyor. "Teknik bir terim değil" i seçtim çünkü bunun kafasına çiviyi vurduğunu hissediyorum.


4

konu dalları olmayan en önemli ve önemli dal türü, kamuya açık olan büyük bir depodaki serbest bırakma dalları gibi görünüyor, değil mi?

Bu muhtemelen sizin için doğru, ama bu sizin ve düşündüğünüz proje ile ilgili; Git tarafından belirlenmez.

Çoğu sürüm kontrol sistemi (özellikle merkezi olanlar), bir şubeyi kullanmanın mantıklı olduğu da dahil olmak üzere belirli bir iş akışını reçete eder veya uygular. Git (ve bir ölçüde en çok dağıtılan VCS'ler), iş akışının, hangi dalların ne için kullanıldığını, ne zaman taahhüt edileceğini, hangi farklı depoların kullanıldığını vb. Yani Git bunları teknik olarak uygulamıyor.

Git'i öğrenmemi zorlaştıran şeylerden biri de bu. Oliver Steele, bunu Karar Politikaları hakkında yazarak kullanıcının görüşünden açıkladı .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.