Запретить git от автоматической фиксации после слияния: --no-commit по умолчанию - PullRequest
0 голосов
/ 13 октября 2011

Я недавно перешел на Git с bzr, и, хотя я привык к различиям, есть одна вещь, я задаюсь вопросом, возможно ли это:

В bzr при слиянии нет неявного коммита. Причина этого заключается в том, что, хотя слияние могло бы быть технически успешным, оно не могло быть контекстно-корректным, т.е. не все модульные тесты пройдут после слияния, поэтому мне, возможно, придется подправить вещи, чтобы сделать «правильное» слияние.

Я прочитал документ Git и подумал, что могу сделать это с псевдонимом, но он не работает:

[alias] 
merge = 'merge --no-commit'

Хотя я мог бы просто сделать отдельное имя для no-commit-merge, я бы предпочел установить это как поведение по умолчанию.

Другие люди предлагают, чтобы я «сделал ребаз» с мастером, прежде чем слиться обратно. Это создаст ускоренное слияние и даст мне возможность протестировать изменения контекстуально, прежде чем сделать его частью основной линии, но я бы предпочел избегать перебазировать как можно больше.

Итак, возможно ли изменить поведение слияния по умолчанию на --no-commit?

1 Ответ

0 голосов
/ 13 октября 2011

Вы можете установить конфигурацию branch.<name>.mergeoptions соответствующим образом с флагом no-commit, чтобы он делал это по умолчанию:

ответвление. <name> .mergeoptions

Устанавливает параметры по умолчанию для объединения в ветвь <name>. Синтаксис и поддерживаемые параметры такие же, как у git merge, но опция значения, содержащие пробельные символы, в настоящее время не поддерживаются.

...