마스터 브랜치에서 몇 개의 새 파일이 추가 된 원래 파일의 서브 세트 인 프로젝트의 "topicA"브랜치를 작성했습니다. 이렇게하려면 분기를 만들고, 불필요한 파일을 삭제하고, 새로운 파일을 추가하고 커밋했습니다.여러 브랜치의 Git 리베이스가 변경되지 않음
그런 다음 지형지 물 "topicB"를 만들고 약간 변경했습니다.
E--H--I topicA
/
/ K--L--M topicB
/ /
A--B--C--D--F--J--N master
"topicB"의 변경 사항을 "topicA"에 적용하고 싶습니다. 결과 트리는 다음과 같이 보일 것입니다 :
나는 이것을 위해 rebase를 사용하려했지만 원하는 결과를 얻을 수 없었습니다.
git checkout topicA
git rebase topicB
결과적으로 병합과 일부 충돌이 발생하지만 주제 B의 모든 변경 사항이 새 주제 A에 존재하지는 않습니다.
는 또한이 마스터가 공통 조상 인 상태 topicA에 topicB에서 변경 사항을 적용 할 생각git rebase --onto topicA master topicB
을 시도하지만,이 날 변경 사항으로 topicB 지점에있는 끝났다.
주제 B의 변경 사항으로 마스터를 리베이스 한 후 topicA에 중요한 파일을 계속 변경하려면 master에서 topicA를 리베이스 할 수 있습니다.
master에서 분기 한 다음 master에서 분기 한 다른 분기에서 rebase 할 수 있습니까? rebase를 잘못 사용하고 있습니까? 이 유스 케이스에 병합 하시겠습니까?
감사
업데이트 @VonC에 의해 설명 된 REBASE 작업 및처럼 지금은 나무가 : 다시 새로운 변화를 얻을 수 topicB에서 topicA을 리베이스 할 때
E--H--I topicA
/
K--L--M--O topicB
/
A--B--C--D--F--J--N master
I 도망 갔다
git checkout topicA
git rebase topicB
그러나 topicA를 rebase하기 위해 이미 해결 한 충돌을 해결하도록 요청하고 있습니다. 그것은 M에서부터 분기했습니다. 이미 해결 한 모든 갈등을 다루지 않고 주제 A를 주제 B 'O'로 바꾸는 방법은 무엇입니까?
당신이 (여전히 수) 활성화해야'자식 rerere' : HTTP
그런 다음, 그래, 당신은
master
위에topicA
을 리베이스 수 : //stackoverflow.com/a/5519698/6309 및 http://stackoverflow.com/a/3284288/6309 및 http://stackoverflow.com/a/10018939/6309 – VonC