rebase의 기능과 필요성에 대해 체감하지 못하고 있다가, rebase를 써 볼만한 상황을 만나게 됐다.
나는 A
지점에서 브랜치를 생성해서 커밋을 쌓아가고 있었는데(파란색 동그라미), dev에 다른 브랜치에서 작업한 내용이 merge되면서 B
라는 커밋이 생겼다.
그래서 나도 저 B
에 커밋된 내용 확인도 할 겸, 그래프를 더 예쁘게(?) 만들기 위해 나의 시작점을 A
가 아닌 B
로 바꾸고 싶었다.
내가 작업 중인 브랜치의 베이스를 A
에서 B
로 옮기기 위해 rebase
를 시도했다.
시도한 내용은 다음과 같다.
dev에 반영된 변경 사항을 local로 땡겨온다.
git checkout dev
git pull origin dev
git checkout feat/edit-question
git rebase dev
이렇게 베이스를 새로 풀 땡겨온 dev로 바꿔주면 그래프가 다음과 같이 만들어진다.
무서워서 pull, push 위주로만 했었는데 앞으로 이런 상황 발생하면 rebase도 종종 써먹어봐야겠다!