머지(병합)은 두 개 이상의 개발 히스토리를 하나로 합치는 작업을 뜻함.
리베이스는 특정 브랜치의 베이스를 재설정하여 다시 커밋을 적용시켜 커밋 이력을 재정렬하는 작업을 의미한다.
보통 git-flow 작업에 알맞음. fork해온 프로젝트를 upstream에 맞게 동기화하고자 할 때 주로 사용하는 명령어.
main/master 브랜치에서 리베이스를 실행하게 되면 main/master의 커밋 이력이 변하기 때문에 main/master 브랜치에서 다른 브랜치를 기준으로 리베이스를 실행하는 경우는 지양하는 게 좋음.


#feature 브랜치에서 실행 git pull -rebase origin master
git rebase -i : 리베이스를 실행하기 전 내가 작업 중인 브랜치의 커밋 히스토리를 수정할 수 있게 해주는 명령어pick: 해당 commit 그대로 유지
reword: 해당 commit의 message 변경
squash: 이전 커밋과 합쳐서 커밋을 하도록 실행
등등 여러가지 명령어는 편집기 실행 시 설명이 되어있음.

-> squash를 실행시키고자 할 때에는 가장 오래된 commit 에 pick 혹은 p를 입력해주고, 합치고자 하는 나머지 commit에는 squash 혹은 s를 입력해준다.
ESC > :wq 로 편집기 창을 종료한다.git push origin branch -f로 -f 옵션을 사용하여 force push를 진행한다.git add .git rebase --continue 를 입력해서 멈춘 rebase 작업을 마저 진행시켜준다.git rebase --abort를 사용하여 아예 rebase를 진행하기 전 상황으로 돌아갈 수도 있다.