2010-11-15 5 views
6

"foo"메시지로 커밋 (요약 부분 만 사용)을 수행하면 git cherry-pick -x the_commit입니다. 결과는 새로운 커밋 메시지입니다. git cherry-pick -x : 요약 대신에 링크

foo
(cherry picked from commit eb42a6475d2c2e4fff7a1b626ce6e27eec21e886)
git의 버그처럼 보이는 두 줄 요약이므로 좋지 않습니다.

하지만 어떻게하면 git이 주석을 수동으로 편집하지 않고 아래처럼 보이게 할 수 있습니까?

foo

(cherry picked from commit eb42a6475d2c2e4fff7a1b626ce6e27eec21e886)

답변

7

네가 옳다는 것을 간과하는 것처럼 보입니다. git mailing list으로 이메일을 보내고 그들이 생각하는 것을 볼 수 있습니다! 이제는 직접 처리해야합니다.

이 문제를 해결하는 좋은 방법은 원래의 커밋 메시지를 좋게 만드는 것입니다. 빈 줄이 이미 여러 줄이면 cherry-pick에서 추가 된 줄이 형식을 엉망으로 만들지 않습니다.

cherry-picked 커밋에 한 줄짜리 메시지가있는 경우, cherry-pick에 -e 옵션을 사용할 수 있습니다. Vim을 사용한다면 최악의 경우 ggo<Esc>ZZ을 치셔야합니다.

또는 준비 - 커밋 - msg 후크를 작성할 수 있습니다. 그것에 필요한 것은 다음과 같습니다.

#!/bin/bash 
sed -i '2s/^(cherry picked/\n&' "$1" 
+0

원본 커미터 (즉, 다른 사람들)가 그런 식으로 메시지를 형식화 할 수 없습니다. 메시지를 수동으로 편집하려면'git commit -x -e'가 더 나은 해결책 인 것 같습니다. – StellarVortex

+0

이전 글에서 나는 'git cherry-pick -x -e'를 의미했다. (더 이상 편집 할 수 없습니다.) – StellarVortex

+0

@stellar : 오, 이런, 네가 맞아. 나는 그 선택권이 체리 선택을 잊었다. 그래도 메일 링리스트에서 응답을 받으니 다행입니다! – Cascabel