Гіт розгалуження з функціональної гілки для роботи над субтерапією


12

Зараз ми знаходимося в такій ситуації, коли галузь функцій була розгалужена для гілки підфункціональних функцій (наприклад, робота над реквізитом бекенда та фронтену для тієї самої функції):

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

Розробник спочатку об’єднав функцію -а у свою гілку особливості-під-підрозділу, щоб бути оновленою, а потім об'єднав її особливість-а-підрозробник у розробку. Тоді як початкова особливість - гілка існує і досі не закінчена.

З моєї точки зору, це спричиняє проблему, що тепер функція-гілка застаріла, оскільки всі зміни об'єднуються в особливість-а-під, а потім у розвиток. Крім того, робота продовжується над функцією-a, що призводить до майбутніх конфліктів злиття та багато ручної праці.

Де ми взяли неправильний поворот і як би виглядав правильний робочий процес з меншими труднощами?

Відповіді:


14

Один повинен об'єднати тільки і з батьківської гілки. Бо feature-a-subце так feature-a, ні development.

Злиття з гілкою та бабусею означає, що причина, по якій була створена материнська гілка, не була виконана, і так, як зазначалося, це створює майбутні проблеми, коли розвиток триває feature-aі developmentпризводить до збільшення розбіжності рядків коду та більшої кількості конфліктів вниз дорога.

Це передбачалося, що це feature-a-subзалежало від коду в feature-a. Якщо feature-a-subвін замість цього був незалежним feature-a, він взагалі не повинен був би розгалужуватися, feature-aа натомість повинен був би розгалужуватися (і зливатися) development.

Якщо це feature-aпотрібно feature-a-subдля роботи (не впевнений, що це було як feature-aпродовження роботи без злиття feature-a-subв неї), і це feature-a-subбуло незалежно від feature-a, feature-a-subслід було б замість цього бути feature-bз гілкою з development, злиття назад в development, а потім або злиття, developmentабо feature-b(якщо один не не хочу підбирати інші зміни від розвитку) до feature-a.

Робочий процес повинен бути:

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 

або

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             

Відносяться - улюблене читання моїх на філософії розгалуження: Advanced SCM Галуження Стратегії . Незважаючи на те, що Біла книга орієнтована на централізовані системи управління версіями, ідеї щодо ролей, які може взяти кожна філія, є важливими для того, щоб ви зрозуміли, що відбувається, і могли обґрунтувати, що слід робити далі для будь-якої галузі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.