2014-09-25 2 views
0

저는 master 브랜치를 가지고 있고 다른 브랜치는 master 브랜치 인 B를 말합니다. B 지점은 실험적이었고 많은 수정을 거쳤지 만 1 년 동안 부실했습니다. 마스터 브랜치 (branch)는 무수한 커밋으로 그 해에 많이 움직였습니다.git 병합 또는 오래된 분기에 대한 rebase?

하지만 이제 B 분기가 마스터 분기에 병합되기를 원합니다. git 병합 또는 rebase 중 어떤 전략이 가장 좋습니까?

+0

입니다. 조심해야합니다. 용어 * fork *는 잘못된 이름입니다. 아마도'B' 브랜치 (branch)가''마스터 (master) ''나 그런 식으로 생긴 것일 수도 있습니다. – Jubobs

+0

B 지점의 로컬 사본을 가지고있는 다른 사람들이 있습니까? 역사 보존에 관심이 있으십니까? 아니오/아니오로 응답하면 리베이스하십시오. –

+1

B의 로컬 복사본이있는 사람들은 마스터를 B에 병합하고 B를 업데이트하는 경우에만 문제가됩니다. 귀하의 질문을 읽었을 때, 그렇지 않았습니다. B에서 커밋을 앞두고 마스터를 이동하려고합니다. 따라서 나인 경우 마스터에서 B를 리베이스하고 병합 충돌을 해결 한 다음 거기에서부터 진행합니다. '자식이 가져 -p' '자식 체크 아웃 B' '자식 리베이스 원산지/master' 충돌 병합이있는 경우 : 나는 B에서 모든 변경을하지 않은 경우'자식 mergetool' 을 , 그렇다면 체리 - B에서 커밋을 마스터로 선택합니다. –

답변

1

병합 할 작업이 많고 결과를 테스트하기 위해 점진적으로 수행하려는 경우 직접 병합하는 것이 문제가 될 수 있습니다.

마침내 팁에 도달 할 때까지 새로운 버전의 마스터에 반복적으로 리베이스하려고 할 수 있습니다. 참고로 B 자체를 리베이스 할 필요는 없습니다 (공개 된 경우를 대비하여). 간단히 B 사본을 만들어 리베이스하십시오.

이러한 상황에 대해 알고 있어야 할 또 다른 도구는 git 's rerere