Git bir alt dal üzerinde çalışmak için bir özellik dalından dallanma


12

Şu anda bir özellik dalının bir alt özellik dalı için dallandığı aşağıdaki durumdayız (aynı özellik için arka uç ve ön uç işleri üzerinde çalışmak gibi):

o 
|
o development
|\
| o feature-a
| |
| o
| |\
| | o feature-a-sub
| | |
| | |
|  \
|   o merged feature-a into feature-a-sub
|  /
o feature-a-sub merged into development
| |
| o feature-a with future work on it
|
o development

Bir geliştirici ilk önce unsur-a-sub-dalını güncel olması için bir araya getirdi ve ardından özellik-a-sub özelliğini geliştirmeye birleştirdi. Oysa ilk özellik - bir dal hala var ve henüz bitmedi.

Benim görüşüme göre, bu özellik-bir dalın artık eskimiş hale gelmesi sorununu ortaya çıkarmaktadır, çünkü tüm değişiklikler özellik-a-sub ve daha sonra geliştirme ile birleştirilmiştir. Ayrıca, gelecekteki birleşme çatışmalarına ve çok sayıda el emeğine yol açan özellik-a üzerinde çalışmalar devam etmiştir.

Nerede yanlış dönüş yaptık ve daha az sorunla düzgün bir iş akışı nasıl görünecekti?

Yanıtlar:


14

Bir gerektiğini sadece ve ana daldan birleşir. Çünkü feature-a-subbu feature-adeğil development.

Büyükbaba veya büyükanne şubesine birleşme, ana şubenin yaratılma nedeninin yerine getirilmediği anlamına gelir ve evet, belirtildiği gibi, bu, gelişimin devam ettiği feature-ave gelecekteki developmentkod satırlarının farklılaşmasına ve daha fazla çatışmaya yol açtığı gelecekteki sorunları yaratır . yol.

Bu, feature-a-subiçindeki koda bağlı olduğunu varsayıyordu feature-a. Eğer feature-a-subyerine bağımsızdı feature-aondan kollara olması gerektiğini, feature-ahiç yerine içine kollara (ve birleştirilmiş) olması gerekirdi development.

Eğer feature-agerekli feature-a-subçalışmalara (değil emin olarak yaptığımız feature-abir birleştirme olmadan devam işin feature-a-subiçine) ve feature-a-subbağımsız olan feature-a, feature-a-subyerine olmalıydı feature-bbir şube ile development, içine bir birleştirme arka developmentve sonra ya bir birleştirme developmentveya feature-b(eğer bir etmiyor geliştirmeden diğer değişiklikleri almak istemiyorum) feature-a.

İş akışı şunlardan biri olmalıdır:

o                                        
|                                        
o development                            
|\                                       
| o feature-a                            
| |                                      
| o                                      
| |\                                     
| | o feature-a-sub                      
| | |                                    
| | |                                    
| | |                                    
| | o merged feature-a into feature-a-sub
| |/                                     
| o feature-a-sub merged into feature-a  
| |                                      
| o feature-a with future work on it     
|                                        
o development 

veya

o                                                  
|                                                  
o development                                      
|\                                                 
| \                                                
|  \                                               
|   o feature-a                                    
|\  |                                              
| b | feature-b                                    
| | |                                              
| | |                                              
| | |                                              
| b | feature-b complete                           
|/ \|                                              
o   o feature-b merged to development and feature-a
|   |                                              
|   o feature-a with future work on it             

İlgili - dallanma felsefesi üzerine benim en sevdiğim okuma : Gelişmiş SCM Dallanma Stratejileri . Teknik inceleme merkezi sürüm kontrol sistemlerini hedeflerken, her bir dalın alabileceği rollerin arkasındaki fikirler, neler olduğunu anladığınızdan ve herhangi bir dalda daha sonra ne yapılması gerektiği konusunda akıl yürütmenizde önemlidir.

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.