git commit -m "commit message" //작업하던 내용까지 커밋
git rebase -i main
//머지되지 않은 내 커밋 로그를 확인할 수 있음 -> 가장 오래된 커밋을
//pick하고 이후 커밋들은 squash 해준다.
<-- conflict 발생하면 해결 후 git add . 까지만 한다 -->
git rebase --continue
git log //하나의 커밋으로 합쳐졌는지 확인
<-- successful 메세지 확인 -->
git push origin feature/nav -f
주로 실제 업무에서 사용되는 브랜치는 feature/release/hotfix/support/main 로 구분되어 작업한다.
git merge
머지될 때마다 머지커밋이 생성되어 프로젝트 규모가 커지게 되면 불필요한 머지 커밋이 많이 생겨 커밋 히스토리가 지저분해지며 다른사람의 커밋과 내 커밋이 커밋된 시간 기준으로 정렬되기 때문에 다른 사람의 커밋과 섞여 구분하기 어렵다.
git rebase
내가 브랜치를 생성할때의 메인 브랜치의 베이스를 바꾸는 작업으로 내가 올린 커밋이 가장 최신이 되고 다른사람의 커밋들은 후순위로 정렬되기 때문에 구문하기 쉽다. (순서 : 머지커밋 - 내 커밋 - 머지된 다른사람 커밋)