2011-10-13 2 views
0

저는 최근 bzr에서 Git으로 전환했으며, 차이점에 익숙하지는 않지만 가능한지 궁금합니다.병합 후 자동 커밋을 방지합니다. --no-commit 기본적으로는

bzr에서 병합 할 때 암시 적 커밋이 없습니다. 이것의 뒤에있는 추론은 병합이 기술적으로 성공적일지도 모르는 반면 문맥 상 정확하지 않을 수도 있습니다. 병합 후에 모든 단위 테스트가 통과하는 것은 아니므로 "올바른"병합을 만들기 위해 물건을 만져야 할 수도 있습니다.

나는 힘내 문서를 읽고 난 별명이 할 수 있다고 생각하지만, 그것은 작동하지 않습니다

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

을 그냥없는 커밋 병합에 대해 별도의 이름을 만들 수 있지만, 나는 것 오히려이를 기본 동작으로 설정하십시오.

다른 사람들은 병합하기 전에 master와 rebase를 제안합니다. 이것은 빠른 전진 병합을 만들 것이고, mainline의 일부가되기 전에 문맥 적으로 변경 사항을 테스트 할 기회를 줄 것입니다. 가능한 한 rebase를 피하십시오.

그래서 기본 병합 동작을 --no-commit으로 변경할 수 있습니까? 그것은 않도록

+0

Git에서는 [원래 명령과 같은 별칭을 지정할 수 없습니다.] (http://git-scm.com/docs/git-config) : "스크립트 사용에 혼란과 문제가 발생하지 않도록 숨기기 기존의 자식 명령은 무시됩니다. " 즉, 별칭을 다른 것으로 호출하면 별칭이 제대로 작동합니다. – sschuberth

답변

0

당신은 no-commit 플래그를 적절하게 branch.<name>.mergeoptions 설정을 설정할 수 있습니다 기본적으로 :

지점입니다. <name>2.mergeoptions

브랜치에 병합하기위한 기본 옵션을 설정합니다. <name>. 구문과 지원 옵션은 git merge 옵션과 동일하지만 공백 문자가 포함 된 값은 현재 지원되지 않습니다.

+0

모든 저장소의 모든 지점에 대해이를 전체적으로 설정할 수 있습니까? – torchengie2

+0

@darkestfright - 그게 내가 찾을 수있는 유일한 것입니다. 물론 전역 설정을 사용하여 모든 repos에 적용 할 수 있지만 내가 생각하는 개별 분기에 대해 제공해야합니다. – manojlds

관련 문제