2012-12-04 2 views
1

git에서 스쿼시 병합을 구성 할 수 있습니까? 그것이 가능하다면, 어떻게 이런 식으로 구성합니까? 커밋을 스쿼시하도록 설정하고 당겨서 실행하지 않음

은 그 병합 지점에서 커밋을 부수 작동하는 동안 풀을 할 때, 그것은 또한 들어오는 변경 스쿼시하려고 git config branch.<name>.mergeoptions --squash

를 통해 자식을 구성.

+3

실제 답변이 없으면 그냥'가져 오기 '는 단지'가져 오기 '와'병합 '일뿐입니다. 그게 이유 야, 왜'mergeoptions'의 영향을 받는지. – KingCrunch

답변

2

프로젝트별로 ~/.gitconfig 또는 .git/config에.

... 
[alias] 
    ms = merge --squash 

편집 : git-config 맨 페이지에 따라 기본 명령을 무시할 수 없습니다. 이 문제에 대한 별도의 명령을 제안하는 답변이 업데이트되었습니다.

git (1) 명령 래퍼의 명령 별명 - 예 : "alias.last = cat-file 커밋 HEAD"를 정의한 후 "git last"호출은 "git cat-file commit HEAD"와 동일한 입니다. 혼란을 피하기 위해 스크립트 사용에 문제가 발생하면 기존 자식 명령 을 숨기는 별칭이 무시됩니다. 인수는 공백으로 나뉘며, 일반적인 셸 을 인용하고 이스케이프가 지원됩니다. 따옴표 쌍과 백 슬래시를 사용하여 을 인용 할 수 있습니다.

+0

어떻게 도움이됩니까? 그는 명백하게 합병을 요구했지만 당겨서 병합을하지 않았습니다. –

+1

AFAIK, 'git merge'를 호출 할 때 별칭을 끌어 병합 병합 단계에 적용해서는 안됩니다. 그것은 명백한 병합이 아닙니까? – udoprog

+0

예, in git-pull.sh git-merge는 명시 적으로 호출됩니다. 즉, 별칭을 우회합니다. 당신 말이 맞아요. –

0

git fetch을 수행하고 git merge --no-squash을 수행해야한다고 생각합니다. 단일 명령을 수행하려는 경우 또는, 간단한 자식 별명 (또는 그 문제에 대한 bash는 별칭 또는 함수는) 충분하지해야합니다

자식 구성 alias.pull 노 스쿼시 '자식이 가져! ; git merge --no-squash '

관련 문제