merge는 병렬로 관리되며 각 브랜치가 남긴 커밋이 merge 시 시간에 따라 사이사이에 위치하여 작업의 파악이 어려워짐.
rebase는 직렬로 관리되며 rebase시 그림과 같이 직렬로 합쳐짐.
장점 : 직렬로 관리되어 버전별로 파악하기가 용이하다.
여러 commit을 남기더라도 squash를 통해 단축 가능.
단점 : rebase는 merge에 비해 어렵고 위험한 방식이다.
git rebase -i main
git push origin feature/login -f
강제로 push