두 개의 branch가 존재하는 상황에서 branch 병합을 할 때 사용하는 방법으로 Merge를 사용하고 있었다. 이번에 알게된 Rebase라는 명령은 Merge와 같이 branch를 병합할 때 사용하는 방법으로 장점이 많은 기능이지만 위험성 또한 존재하기 때문에 사용에 앞서 어떤 기능을 하는지 좀 더 명확하게 짚고 넘어갈 필요가 있다.
우선 자주 활용하던 Merge의 방식은 이러하다. 두 개의 branch를 합칠 때 Merge Commit이 생기면서 기존에 남겼던 2개의 commit message와 함께 총 3개의 commit message를 남긴다. 또한 branch를 새로 생성한 시점의 base또한 남아있는 형태를 보이기 때문에 두 개의 branch에서는 큰 문제가 보이지 않지만, 프로젝트의 규모가 커지면서 가독성에 문제가 생길 수 있다.
이를 해소하기 위해서 Rebase를 사용한다. 단어의 의미처럼 base를 다시 설정하는 기능을 하는 명령으로 branch 의 base를 다시 설정한다는 의미이다.
위처럼 master에서 branch가 생성된 시점을 작업을 진행하면서 달라진 master의 가장 마지막 시점으로 base를 바꾸면서 branch가 한 줄기로 이어지는 형태를 보인다.