두 커맨드들은 브랜치의 변경사항을 다른 브랜치에 합치기 위해 만들어졌다. (But 다른 방식)
✔️Merge : main branch에서 commit한 순서들 feature에 merge할 때 그 시간 그대로 commit 저장된다. (History 그대로 update된다)
Main 에 다시 feature 거를 merge해도 마찬가지
✔️ 문제점 : 불필요한 merge commit 생성 , 복잡한 프로젝트 history (다른 작업과 그 내역이 겹쳐 구분하기 어려워진다)
✔️Git rebase : 불필요한 merge commit 없음!
같은 작업을 진행한 commit끼리 모아준다. (깔끔한 history)
✔️ 내 commit의 base를 변경하여 commit history 를 일렬로 잘정리해준다.
✔️ Squash - commit들을 하나의 commit으로 합친다.
Ex) 리뷰반영, 리뷰반영 2. …
=> 메세지 깔끔하게 한번에 정리 가능하다!
✔️ 문제점 : rebase를 하고 나면 commit 의 아이디가 바뀐다.
git rebase -i main
를 진행한다.성공했다면 git log로 커밋 메세지 다시 확인해주기!
Push 한다.
git push origin feature/login -f