Özellik dalları kullanan bir ekipte git ile çalışırken, tarihte şube yapısını anlamakta zorlanıyorum.
Örnek:
Diyelim ki bir özellik dalı özelliği / kahve yap , ve hata düzeltmesi özellik dalına paralel olarak master'da devam etti .
Tarih şöyle görünebilir:
* merge feature/make-coffee
|\
| * small bugfix
| |
* | fix bug #1234
| |
| * add milk and sugar
| |
* | improve comments
| |
* | fix bug #9434
| |
| * make coffe (without milk or sugar)
| |
* | improve comments
|/
*
Sorun
İlk bakışta, hangi tarafın özellik dalı olduğunu söylemekte zorlanıyorum. Hangisi hakkında bir fikir edinmek için genellikle her iki tarafta birkaç yoruma göz atmam gerekir. Paralel olarak birden fazla özellik dalı varsa (özellikle yakından ilişkili özellikler içinse) veya özellik dalı ile master arasında her iki yönde birleşme varsa bu daha karmaşık hale gelir.
Bunun aksine, Subversion'da, şube adı tarihin bir parçası olduğu için bu çok daha kolaydır - bu yüzden başlangıçta "özellik / make-coffee" üzerine bir taahhüt yapıldığını söyleyebilirim.
Git , bir taahhüt oluştururken (yazar, tarih vb. İle birlikte) mevcut şubenin adını taahhüt meta verilerine ekleyerek bunu kolaylaştırabilir. Ancak git bunu yapmaz.
Bunun yapılmamasının temel bir nedeni var mı? Yoksa kimsenin bu özelliği istememesi mi? Eğer ikinciyse, tarihi şubelerin adını görmeden anlamanın başka yolları var mı?