Почему git-flow ускоряет слияние веток моих функций? - PullRequest
1 голос
/ 15 апреля 2019

Я начинаю использовать и узнавать о git-flow. В этой статье https://jeffkreeftmeijer.com/git-flow/ говорится, что при каждом слиянии ветвей функций будет использоваться параметр --no-ff для git merge, что вполне логично, учитывая назначение ветви функций.

Проблема в том, что я тестирую git-flow в пустом репозитории, и я не могу понять, почему при слиянии из ветви объектов с помощью команды git flow feature finish "feature-name" всегда используется ускоренная пересылка.

Я не могу представить себе причину, по которой следует перемотать ветку функций. Я что-то здесь упускаю?

1 Ответ

2 голосов
/ 15 апреля 2019

В некоторых случаях git-flow не использует --no-ff, действительно:
Посмотрите на комментарий GitHub № 100 от Винсента Дриссена :

By design, git-flow uses the --no-ff option when merging  
in order to record that the commits belong together historically. 
However, when the feature branch contains only a single commit,
the extra merge commit does not add anything and only complicates 
the branch tree needlessly.
So for single-commit branches, fast-forward merges are being made 
as if the commit was done on develop directly.

Это должна быть эта строка кода # 315 :

if [ "$(git rev-list -n2 "$DEVELOP_BRANCH..$BRANCH" | wc -l)" -eq 1 ]; then
    git_do merge --ff "$BRANCH"
...