2012-09-10 6 views
1

일부 라이브러리와 함께 git 저장소가 있고, 보통 (하위 모듈이 아닌) 추적됩니다. 라이브러리 중 하나에 대한 업데이트가 포함 된 별도의 분기 (업스트림이 아닌)에서 병합 중입니다. 좀 더 지능적인 병합 전략을 구현할 수도 있지만 순진한 병합을 사용한다고 가정 해 봅시다 (너무 비합리적이지는 않습니까?). 나는 이미 자동으로 재귀 적으로 하위 디렉토리를 해결하기 위해git merge conflict resolution에서 sub-dir을 자동으로 그리고 재귀 적으로 선호합니다.

git merge incoming-branch 

를 실행 한 후

은 어떤 방법이 있나요/일부/lib 디렉토리/* 수신 지점에서 "그들의"변화를 선호하는?

명백한 또는 효과적인 병합 전략이있는 경우 해당 내용도 자유롭게 공유하십시오. 특히이 병합 후 병합 질문에 대해서는 특히 궁금합니다. 감사!

git checkout --ours whatever 

어쩌면 당신은 어떤 후크를 사용할 수 있습니다, 그것은 자동하려면,하지만 post-pull 후크가 없습니다 :

git checkout --theirs whatever 

다른 방법은 다음과 같습니다

+0

[git merge "하위 트리 전략] (http://stackoverflow.com/a/366940/1445241)을 사용하여 다른 방법으로 시도했지만 시도하지 않았습니다. 있을 경우 메모를 남겨 두십시오. –

답변

0

당신은 할 수 있습니다. 어쩌면 pre-commit을 사용하면 효과가 있습니다. 병합 충돌이 없을 때 발생하기 때문에 post-merge이 작동하지 않습니다.

+0

aha, checkout works, 그 뒤에 적절한 'git add whatever' 및'git commit'이옵니다. 자동화하고 싶다면 _git submodules_을 활용하거나 들어오는 분기를 적절한 업스트림과 같이 처리 할 수 ​​있습니다. –