Опция --no-ff
полезна, когда вы хотите иметь четкое представление о вашей ветви функций. Таким образом, даже если в это время не было сделано никаких коммитов, FF возможен - вы все равно иногда хотите, чтобы каждый коммит в основной строке соответствовал одной функции. Таким образом, вы рассматриваете функциональную ветвь с кучей коммитов как один блок и объединяете их как один блок. Из вашей истории становится ясно, когда вы объединяете ветку объектов с --no-ff
.
Если вас это не волнует - вы, возможно, сойдете с ФФ, когда это возможно. Таким образом, у вас будет больше svn-подобного ощущения рабочего процесса.
Например, автор этой статьи считает, что опция --no-ff
должна быть по умолчанию, и его аргументация близка к изложенной выше:
Рассмотрим ситуацию, когда ряд второстепенных коммитов в ветви «feature» вместе составляют одну новую функцию: если вы просто выполните «git merge feature_branch» без --no-ff
, «из истории Git невозможно увидеть, какие объектов фиксации вместе реализовали функцию - вам нужно будет вручную прочитать все сообщения журнала. Возврат всей функции (то есть группы фиксаций) является настоящей головной болью [если --no-ff
не используется], тогда как это легко сделать, если был использован флаг --no-ff
[потому что это всего лишь один коммит]. "
![Graphic showing how --no-ff groups together all commits from feature branch into one commit on master branch](https://i.stack.imgur.com/rTxx9.png)