질문에 모두 나와 있습니다. 병합 전에 작업을 수행 할 수있는 방법이 있습니까? pre-commit
후크를 사용하는 방법이 있다고 추측하고 있지만 확실하지 않습니다.Git에서 사전 병합 후크를 작성하는 방법은 무엇입니까?
30
A
답변
9
prepare-commit-msg
후크를 사용해보세요. 두 번째 인수는 "커밋이 병합이거나파일이있는 경우 merge
"입니다. 0이 아닌 종료 상태는 커밋을 중단합니다.
커밋 메시지가 없기 때문에 빨리 감기 병합과 함께 작동하지 않을 것이라고 생각합니다.
후크에더 많은 정보 : https://www.kernel.org/pub/software/scm/git/docs/githooks.html#_prepare_commit_msg
0
또 다른 좋은 해결 방법은 쉘 스크립트를 추가 당신이 원하는 것처럼 전화, 을 다음 스크립트에 다음 줄을 추가하는 것입니다 :
git() {
if [ "$1" == "merge" ]; then
echo "seems to work like a charme"
fi
command git "[email protected]"
}
git "[email protected]"
는 그런 다음을
alias git="./my-pre-merge-script.sh"
그럼 잘 해봐. 자신 만의 사전 병합 후크를 추가했습니다. git이 실제 병합 후크에 전달하는 모든 인수에 액세스 할 수는 없지만 파일이나 병합 준비를 준비 할 수는 있습니다. 개인적으로이 접근법에 대해 매우 만족합니다. 사전 병합을 위해 무언가를 찾기 위해 2 ~ 3 일을 보냈습니다. 그런 다음 필요에 부합하지 않는 사전 커밋 메시지를 사용해야했습니다. 이것은 내 모든 문제를 해결합니다. 희망이 미래에 누구에게 도움이됩니다.
관련 문제
- 1. git에서 주석 태그를 추가하기위한 사전 커밋 훅
- 2. git에서 다른 분기 병합
- 3. git에서 커밋을 병합
- 4. github에서 사전 수신 후크를 허용합니까?
- 5. git submodules에 대한 업데이트 후크를 작성하는 방법은 무엇입니까?
- 6. C에서 함수에 대한 일반 후크를 작성하는 방법은 무엇입니까?
- 7. git : 정확히 git에서 병합 커밋입니까?
- 8. git에서 병합 중단 - 모범 사례
- 9. 사전 병합
- 10. 디렉토리 구조가 변경되었을 때 git에서 병합 또는 리베이스하는 방법은 무엇입니까?
- 11. Mercurial에서 사전 푸시 후크를 만드는 방법
- 12. git에서 병합 실행을 넘어서 이동하십시오.
- 13. GIT에서 버전 파일 병합 방지
- 14. git에서 병합 된 파일을 수정하십시오.
- 15. Git에서 다른 커밋에 수동 병합
- 16. Git에서 병합과 FAST FORWARD를 병합
- 17. git에서 파일을 병합 할 수 있습니까?
- 18. git에서 개인적인 변경 사항을 유지하는 방법은 무엇입니까?
- 19. 병합 된 사전
- 20. 병합 나는 다음 포스트받을 후크를 사용 후크
- 21. Bitbucket이 병합 후 내 후크를 실행하지 않습니다
- 22. App.xaml에서 병합 된 사전
- 23. Linq : 사전 병합
- 24. 조건부로 여러 사전 병합
- 25. Xcode를 사전 내 사전에 병합
- 26. GIT에서 릴리스 분기를 만드는 방법은 무엇입니까?
- 27. 목록을 사전 목록에 목록으로 병합
- 28. git에서 파일을 복원하는 방법은 무엇입니까?
- 29. 사전 배열을 필터링하기 위해 술어를 작성하는 방법은 무엇입니까?
- 30. Git에서 병합 충돌이 Subversion의 병합 충돌과 어떻게 비교됩니까?
자식 병합을 수행 할 때 트리거되지 않는 것 같습니다. 이를 확인하려면 prepare-commit-msg의 맨 위에'exit 1'을 넣고 병합 커밋을 수행하십시오. –
빠른 전진 병합입니까? 병합이 커밋 메시지를 트리거하지 않으면 도움이되지 않습니다. – Kousha
실제 커밋 (메시지) 병합의 경우에도 트리거되지 않습니다. 위에서 설명한 테스트를 시도했습니다 ... 예제로 잘못 입증하게되어 기쁩니다. 그러나이 테스트를 해주십시오. –