Ответ 1
"По завершении ветки функции рекомендуется удалить поскольку он больше не нужен для разработки".
Разница между "отбрасыванием" и "слиянием" ветки функции:
"Окончание" здесь является двусмысленным выражением. Чтобы убедиться, что я полностью покрываю ваш вопрос, я считаю, что вы имели в виду один из следующих случаев:
(1) Если вы хотите отменить feature/my-fancy-feature
:
git branch -d feature/my-fancy-feature
(2) Если вы хотите объединить feature/my-fancy-feature
:
git flow feature finish my-fancy-feature
"Как только ветвь будет удалена, график будет аннотирован" feature/my-fancy-feature "разветвленная и объединенная?"
Разница между "fast-forward-merge" и "non-fast-forward-merge"
Это зависит (результат не зависит от git-flow
). git log
не даст вам конкретного имени ветки (например, feature/my-fancy-feature
). Это даст вам сообщение об ошибке с сообщением. Напоминая о различиях между быстрым слиянием и сглаживанием без быстрого перехода:
fast-forward-merge (вся история фиксации, сделанная в feature/my-fancy-feature
, останется):
git merge
non-fast-forward-merge (вся история фиксации, сделанная в feature/my-fancy-feature
, исчезнет):
git merge --no-ff
Обратитесь к следующей иллюстрации от Vincent Driessen статья:
Update
Чтобы включить функцию fast-forward в SourceTree, проверить нижеуказанную глобальную опцию предпочтения, найденную в Menubar-> SourceTree -> Preferences -> Git
:
Для дальнейшего объяснения я нашел этот отрывок из Справочного центра SourceTree:
отключает быстрое переключение, когда слияние, что означает, что явное объединение слияния всегда создается независимо от того, есть ли другие изменения в принимающей ветки. Это может быть полезно, если вы хотите поддерживать явно отдельную строку развития во всех случаях.
Надеюсь, что это помогло!