Git> Merge VS Rebase

OwlCJ·2022년 3월 15일
0

학습 메모

목록 보기
4/5

오늘은 git의 merge와 rebase의 차이에 대해 알아보았다. 🧐

git merge와 git rebase는 비슷하게 브랜치 혹은 메인과 서로 합쳐주는 명령어인데

비슷하지만 다른 부분이 존재했다.

git merge

git merge는 그동안 자주 사용하고 있었는데, git merge는 메인에 브랜치를 병합하거나 반대의 경우에 merge commit을 남기고 (merge가 진행됬다는 기록) 병합을 하게된다. 이 기록이 수 많은 머지 진행시 꽤 많아지게 되는데 그럼 중요한 커밋들을 찾기가 어려워지는 단점이 있다.

또한 작업하던 브랜치를 merge로 병합하게되면 그 동안 커밋했던 내역들의 타임스탬프를 그대로 살려서 병합하게 된다.

git rebase

git rebase 는 메인에 브랜치를 병합할 시 merge commit 을 남기지 않기 때문에 수많은 merge commit으로 인해 중요한 commit 들을 가리지 않게 되는 장점이있고, merge와는 다르게 rebase전 작업한 내역의 커밋들의 타임스탬프를 무시하고 현재 rebase한 시점 뒤로 로그를 넣어주기 때문에 기존의 커밋순서와 달라져 충돌이 나게 된다. rebase후 부터는 push -f 명령어를 사용해 강제로 푸쉬해줘야 푸쉬가 가능하다.
또한 rebase 명령으로 비슷한 내용의 여러 커밋들이 존재할 때 변경사항들을 하나로 뭉쳐서 보낼 수도 있다.

결론

merge 와 rebase는 서로 병합해주는 것은 동일하지만, 커밋들의 순서를 유지해주거나 새로 구성하는 등의 차이가 있다. 또한 rebase는 비슷한 내용의 여러 커밋을 하나로 재구성 할 수도 있기 때문에 상황에 맞게 유용하게 사용하면 될 것 같다.🤔

profile
ios 개발자를 목표로 성장중입니다 🧐

0개의 댓글