2016-06-02 3 views
0

나는 자식이별로 좋지 않다. 여기 네 도움이 필요해. 저는 동시에 두 개의 지점에서 개발하고 있습니다. 나 branch 1- version_1_2, branch2-version1_3git을 사용하여 한 분기에서 다른 분기로 병합

버전 1.3은 1.2보다 많은 기능을 가지고 있습니다.

때때로 버그 수정 후 일부 변경 사항을 1.2에 추가하고 이러한 변경 사항을 1.3으로 수정해야합니다. 지금은 수동으로하고 있으며 가장 좋은 방법은 아닙니다.

1.3 지점이 이미 모든 1.2 가지의 기능을 뺀 버그 수정 작업,를 포함해야하기 때문에 동일한 1.3 버전 1.2에서 변경 (추가 기능은 1.3에 남아 있어야한다)

+0

"수동으로"는 무엇을 의미합니까? Gitlab 솔루션을 찾고 있습니까? –

+0

내 말은 그냥 한 브랜치의 코드를 다른 브랜치에 붙여 넣은 후 git 명령을 사용하여 코드를 푸시하는 것입니다. –

+0

그것은 아주 좋은 소리하지 않습니다. 내 대답을 아래에서보십시오. –

답변

1

를 업데이트하는 방법

git checkout branch-1_3 # switch to the 1.3 branch 
git merge branch-1_2  # merge the 1.2 branch into 1.3 

수동으로 해결해야 할 일부 파일에서 충돌이 병합 될 수있다 쉬운 옵션은 여기 1.21.3에 병합하는 것입니다.

+0

충돌 문제를 해결하는 데 도움이되는 도구가 있습니까? –

+0

Eclipse 또는 IntelliJ를 사용하는 경우 병합 해결 도구가있는 IDE 용 Git 플러그인이 있습니다. 그러나, 나는 개인적으로 대부분의 경우 손으로 해결하는 것을 선호합니다. '<<<','==='및'>>>'마커를 찾고 사용할 코드의 버전을 선택하십시오. –

+0

메신저 AndroidStudion (IntelijIdea 기반)을 사용하고 Xcode –

0

당신이 version_1_3 체크 아웃 할 수 version_1_3에 지점 version_1_2에 이르기까지 모든 것을 통합하고 또 다른 하나 개의 지점에서 특정 커밋을 병합 할 경우 모든 병합하지 않고, Tim Biegeleisen

응답 단순히 version_1_2 병합합니다.

git cherry-pick <commit-hash> 

당신은 그것을 타이핑 확인하여 분기 1.2에서 커밋 각각에 대한 커밋 해시를 찾을 수 있습니다 : 당신은 자식 체리 픽을 사용할 수 있습니다 자식 로그 또 다른 옵션은 gitk이 같은 도구를 사용하는 것입니다 및 gitg (sudo apt-get install gitk gitg) 커밋 해시를 확인합니다.

또 다른 옵션은 git difftool 또는 meld과 같은 그래픽 병합 도구를 사용하는 것입니다. 이 같은 것이 두 가지 사이에 다른 모든 파일에 대한 그래픽 인터페이스를 엽니 다.

git checkout version_1_3 
git difftool version_1_2 
관련 문제