Webzone Публикации Git Git - Ветвление

Git - Ветвление

14:46 , 25 Июль 2019
Git - Ветвление

Во время разработки новой функциональности считается хорошей практикой работать с копией оригинального проекта, которую называют веткой. Ветви имеют свою собственную историю и изолированные друг от друга изменения до тех пор, пока вы не решаете слить изменения вместе. Это происходит по набору причин:

- Уже рабочая, стабильная версия кода сохраняется.
- Различные новые функции могут разрабатываться параллельно разными программистами.
- Разработчики могут работать с собственными ветками без риска, что кодовая база поменяется из-за чужих изменений.
- В случае сомнений, различные реализации одной и той же идеи могут быть разработаны в разных ветках и затем сравниваться.



Создание новой ветки

Основная ветка в каждом репозитории называется master. Чтобы создать еще одну ветку, используем команду branch



> git branch dev


Это создаст новую ветку, пока что точную копию ветки master.



Переключение между ветками

Сейчас, если мы запустим branch, мы увидим две доступные опции:



>  git branch
dev
* master

master — это активная ветка, она помечена звездочкой. Но мы хотим работать с нашей “новой потрясающей фичей”, так что нам понадобится переключиться на другую ветку. Для этого воспользуемся командой checkout, она принимает один параметр — имя ветки, на которую необходимо переключиться.



> git checkout dev




Слияние веток

Наша “потрясающая новая фича” будет еще одним текстовым файлом под названием feature.txt. Мы создадим его, добавим и закоммитим:



> git add feature.txt
> commit -m "New feature complete.”

Изменения завершены, теперь мы можем переключиться обратно на ветку master.



>  git checkout master


Теперь, если мы откроем наш проект в файловом менеджере, мы не увидим файла feature.txt, потому что мы переключились обратно на ветку master, в которой такого файла не существует. Чтобы он появился, нужно воспользоваться merge для объединения веток (применения изменений из ветки amazing_new_feature к основной версии проекта).



> git merge dev


Теперь ветка master актуальна. Ветка amazing_new_feature больше не нужна, и ее можно удалить.



> git branch -d dev


Вопросы / Комментарии / Отзывы