1. Rebase란?
- 커밋 시퀀스를 새 기준 커밋으로 이동하거나 결합하는 프로세스이다.

그림에서 보이는 것처럼 rebase를 사용하면 feature 브랜치에서 작업한 커밋을 마치 Main브랜치에서 작업한 것처럼 이동시킬 수 있다.
하지만 Git은 내부적으로 새 커밋을 만들고 지정된 기준에 적용하여 이것을 구현하기 때문에, 브랜치가 동일하게 보이지만 완전히 새로운 커밋으로 구성되어 있음을 이해하는 것이 중요하다.
2. Rebase의 목적
- 일반적으로 Git을 사용하는 목적은 다자 간의 협업을 위함이기 때문에 우리는 커밋을 할 때 커밋 메시지를 활용하여 어떤 커밋인지를 명시해주곤 한다. rebase를 활용하면 그러한 기록들을 유지시키거나 더 깔끔하게 정리하며 이동, 병합이 가능하기 때문에 많이 활용된다.
3. Rebase 예시



여러 옵션을 사용해보기 위해 work 브랜치에서 3개의 커밋을 생성했다.


HEAD가 work 인 상태에서 git rebase -i main 으로 실행해주고, a 커밋에는 pick, b 커밋에는 fixup,
c커밋에는 edit 옵션을 주고 실행해주었다.(:wq! 엔터)


rebase 해준 결과 커밋은 두 개로 줄어들었고, HEAD는 main을 바라보게 된다.
rebase는 다양한 subcommand 들로 다양하게 활용되기 때문에 추후에 더 사용해보며 내용을 추가하도록 하겠다.
반응형
'GIT > COMMAND' 카테고리의 다른 글
| [Git] Cherry-pick & Merge --Squash (0) | 2023.01.07 |
|---|---|
| [Git] Merge (0) | 2023.01.06 |
댓글