Страницы

Поиск по вопросам

пятница, 6 марта 2020 г.

В чём состоит отличие между различными workflow? [дубликат]

#git #контроль_версий #dvcs


        
             
                
                    
                        
                            На этот вопрос уже даны ответы здесь:
                            
                        
                    
                
                        
                            Правильное именование веток
                                
                                    (3 ответа)
                                
                        
                                Закрыт 2 года назад.
            
                    
Слышал о существовании большого количества workflow (процессов разработки) — git
flow, github flow, gitlab flow. 

В чём их сущность и чем они отличаются? Ведь ветвление происходит во всех трёх случаях.
    


Ответы

Ответ 1



Да, все workflow имеют много общего, поскольку предназначены для работы с одними и теми же инструментами (в данном случае с git-ом, распределённой системой контроля версий, обладающей возможностью лёгкого ветвления). Однако у них имеются весьма существенные различия в том, как с этими ветками обращаться. Git Flow Есть две фиксированные ветви, «стабильный» master и «развивающийся» develop. При появлении необходимости внесения изменений в код происходит одно из двух: от develop отпочковывается тематическая ветка, если это внесение функционала или подготовка к выпуску новой версии, либо ветка отпочковывается прямо от master, если это исправление ошибки. После окончания работ тематическая ветвь вливается в её родителя, а в ряде случаев — и в master. GitHub Flow То же, что и Git Flow, но фиксированная ветка всего одна — master; всё остальное принадлежит тематическим ветвям. Тематические ветви, в свою очередь, создаются в форках — клонированных копиях репозитория. То есть центральный репозиторий тематических веток не содержит. В том числе и после слияния, так как метки веток при этом снимаются и их головы становятся анонимными. GitLab Flow Как и в GitHub Flow, фиксированная ветка всего одна — master; всё остальное принадлежит тематическим ветвям. Однако, если в том случае релизы размещались в коммитах master-a, то здесь для каждого релиза создаётся своя, отдельная ветка. Причём никакого слияния этих веток с родителем не производится. Если ветка отпочковалась, значит она будет жить своей жизнью, получая исправления ошибок в виде отдельных коммитов (возможно, портированных из головы мастера с учётом накопившейся разницы в функционале между ветками). Иллюстрации были взяты из статьи «잘 밤에 쓸데없는 생각하기...». В корейском я не смыслю, но картинки красивые.

Комментариев нет:

Отправить комментарий