Исходные предложения командной строки, из которых получено большинство инструментов GitFlow, можно найти в исходной статье блога здесь:
https://nvie.com/posts/a-successful-git-branching-model/#incorporating-a-finished-feature-on-develop
Закрытие ветви функции состоит из следующегошаги:
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
Опция флажка в SourceTree, вероятно, делает один дополнительный шаг, который перемещает текущую функциональную ветвь в заголовок развивающейся ветви перед слиянием.Если вы не знакомы с операцией git rebase
, я бы посоветовал вам сначала прочитать об этом здесь:
https://git -scm.com / docs / git-rebase
ПРИМЕЧАНИЕ: Хотя операция перебазирования является совершенно нормальным рабочим процессом, которым я следую, я использую его почти ежедневно, это может вызвать проблемы, если вы просто используете его впервые, особенно если возникают конфликтымежду веткой компонентов, над которой вы работаете, и тем, что находится в ветви разработки.Я бы рекомендовал вам в отдельности попробовать следующее, чтобы привыкнуть к происходящему.
Итак, глядя на «нормальное» завершение рабочего процесса функции сверху, вы бы сделали что-то вроде следующего:
$ git checkout myfeature
Switched to branch 'myfeature'
$ git rebase develop
Replay commits from myfeature branch onto the head of the current develop branch
$ git checkout develop
Switched to branch 'develop'
$ git merge --no-ff myfeature
Updating ea1b82a..05e9557
(Summary of changes)
$ git branch -d myfeature
Deleted branch myfeature (was 05e9557).
$ git push origin develop
Если вы посмотрите историю своего git-репозитория до и после операции rebase, то, надеюсь, вы должны почувствовать, что происходит.Если вы все еще не уверены, вы можете использовать что-то вроде следующего:
http://git -school.github.io / visualizing-git
, который поможетвизуализировать происходящие операции git.