Как сделать так, чтобы git merge по умолчанию был --no-ff --no-commit? - PullRequest
65 голосов
/ 02 апреля 2011

Политика компании заключается в использовании --no-ff для фиксации слияния. Мне лично нравится настраивать сообщения журнала слияния, поэтому я использую --no-commit. Кроме того, мне нравится на самом деле компилировать и тестировать, прежде чем я разрешу коммит.

Как мне сделать --no-ff и --no-commit по умолчанию для меня для всех филиалов?

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

Ответы [ 4 ]

97 голосов
/ 02 апреля 2011

Поместите это в $ HOME / .gitconfig:

[merge]
    ff = no
    commit = no

Вы можете использовать git-config для этого:

  git config --global merge.commit no
  git config --global merge.ff no
33 голосов
/ 12 февраля 2012

Чтобы сделать --no-ff --no-commit поведением слияния по умолчанию, задайте для параметров no, используя:

git config --global merge.ff no
git config --global merge.commit no

Однако проблема в том, что git pull = git fetch + git merge,Таким образом, всякий раз, когда вы извлекаете данные с удаленного сервера, вы создаете некрасивый коммит слияния, когда оправдан простой перемотка вперед.Чтобы решить эту проблему, установите pull.ff на yes:

git config --global pull.ff yes
19 голосов
/ 17 мая 2012

Начиная с версии 1.7.6 git, вы должны использовать

git config [--global] merge.ff no

для принудительного использования --no-ff в каждом слиянии.

Поведение по умолчанию

git config [--global] merge.ff yes

А с

git config [--global] merge.ff only

Откажется от слияний без ускоренной перемотки

10 голосов
/ 13 декабря 2012

В соответствии с руководством , вы должны использовать

$ git config [--global] merge.ff false

, чтобы установить опцию без быстрой перемотки по умолчанию для всех веток с помощью утилиты git-config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...