2011-12-20 3 views
3

후 커밋 메시지를 수락 나는 스크립트에서 다음을 수행하고 싶습니다 :기본 자식이 찌그러 병합

git merge --squash someBranch 
git push 

문제는 병합이 커밋하지 않는다는 것입니다. 그래서 밀어 내기 전에 나는 커밋해야합니다. 이 병합으로 작성된 기본 커밋 메시지만으로 충분합니다. 따라서 내 질문은 다음과 같습니다.

  1. 커밋을 자동으로 생성하여 병합 할 수 있습니까?

  2. 또는 기본 메시지를 허용하는 커밋을 스크립트에 추가 할 수 있습니까?

고마워요!

git commit -F .git/MERGE_MSG 

를 병합 한 후에 ... : 병합이 .git/MERGE_MSG에 후 다음 작업을 수행 할 수 있도록

+0

왜 기본값으로 충분하다고 생각 하느냐고 묻습니다. 스쿼시를 만드는 유일한 이유가 아니며, 지점에서 커밋을 많이 만들고 싶은 것이 커밋 된 것처럼 보입니까? 원래 커밋 메시지가 의미가있는 경우 원래 커밋을 설명하는 것일 수 있습니다. 이 경우 스쿼시 대신에 커밋을 rebase하려고 할 것입니다. – morten

+0

5 년 후에 나는 이것을하는 이유를 기억할 수 없다. –

+0

Hehe, 이해할 수있다. 어쨌든 답변 주셔서 감사합니다 :) – morten

답변

5

기본값은 커밋 메시지.

+3

고마워! 그러나 특별한 경우에는 .git/SQUASH_MSG를 사용해야했습니다. –

4

더 최신 버전의 자식 버전에서와 같이 git-merge docsSO question에 설명 된대로 --no-edit 옵션을 사용해 볼 수 있습니다.

git merge --no-edit --squash someBranch 
git push 
0

또 다른 방법은 다음 --no-edit 옵션은 나를 위해 (힘내 2.7.0)를 작동하지 않습니다

git merge --squash someBranch 
git commit -m "" 

. 그것은 말합니다 : Squash commit -- not updating HEAD.