본문 바로가기

반응형

rebase

(2)
git: rebase 심화 (rebase --onto: branch 부모의 부모에 대한 rebase) branch가 한 줄기만 있다면 # feature branch에서 $ git rebase 위 명령어만 적으면 rebase할 수 있다. 그렇다면 해당 브랜치의 부모브랜치의 부모브랜치, 즉 1번의 브랜치를 거쳐 rebase는 어떻게 할까? 위 그림과 같은 상황에서 client를 main 브랜치로 rebase를 해야한다고 하면, 아래 그림과 같이 client만 main 브랜치 커밋들 옆에 붙어야 한다. 이렇게 하기위해선 $ git rebase --onto main server # rebase --onto 위 명령어를 통해서 rebase할 수 있다. 그 후 main branch와 client branch를 fast-forward로 merge하면 된다. 마지막 server도 main branch로 rebase하고..
git merge와 rebase의 차이: rebase의 이해 처음 rebase를 들었을 땐 어떻게 동작하는 것인지 이해가 잘 안됐다. 그래서 merge와 rebase의 차이가 무엇인지도 몰랐었음.. Merge와 rebase의 차이 Merge: branch를 통합하는 명령어 Rebase: branch의 base를 옮기는 명령어 위와 같이 차이점을 말해 볼 수 있다. 즉, branch를 통합하는 방법은 2가지이다. Merge만 한다 Rebase를 한 후 Merge를 한다 Merge $ git switch main # 메인 브랜치에서 $ git merge # 다른 브랜치와 병합 Rebase를 하는 이유는, merge를 하는 방법을 먼저 보면 이해하기 쉽다. Merge하는 방법에는 2가지가 있다. fast-forward 3-way merge (merge를 하는 곳(브랜치..