이 브랜치들의 모든 작업내역을 main 브랜치에 리베이스 해볼까요?
git rebase main bugFix // main에다 bugfix를 붙힘 , HEAD를 bugfix로
git rebase bugFix side// bugfix에 side를 붙힘 , HEAD를 side로
git rebase side another // side에 another를 붙힘 , HEAD를 another로
git branch -f main // main브랜치를 HEAD로 옮김.
여기 main 브랜치의 몇 번 이전 커밋에 one, two,three 총 3개의 브랜치가 있습니다. 어떤 이유인지는 몰라도, main의 최근 커밋 몇 개를 나머지 세 개의 브랜치에 반영하려고 합니다.
one 브랜치는 순서를 바꾸고 C5커밋을 삭제하고, two브랜치는 순서만 바꾸며, three브랜치는 하나의 커밋만 가져옵시다!
git checkout one //one으로 체크아웃
git cherry-pick c4 c3 c2 // c4 c3 c2순으로 one을 커밋
git checkout two // two으로 체크아웃
git cherry-pick c5 c4' c3' c2' // c5 c4' c3' c2'순으로 two을 커밋
git branch -f three c2 // three브랜치를 c2로 옮김.