본문 바로가기

rebase

(2)
Git Merge vs Squash and merge(Squash) vs Rebase and merge(Fast forward) 차이점, pull request, 풀리퀘스트 병합 방법 차이점 Merge / Squash and Merge(Squash) / Rebase and Merge(Fast forward) 차이 깃의 커밋 히스토리를 관리하는 관점에서 보면서 사용하면 될 듯 하다. 아래의 그림들에서 개념을 확인 가능하다. 지금부터 아래, 유사하나 좀 더 세부적인 내용 설명 (https://meetup.toast.com/posts/122) 사용 예시 Git Flow 를 따른다고 했을 때, 아래와 같이 정리. develop - feature 브렌치간 머지 : Squash and Merge가 유용합니다. feature의 복잡하고 지저분한 커밋 히스토리를 모두 묶어 완전 새로운 커밋으로 develop 브렌치에 추가하여, develop 브렌치에서 독자적으로 관리할 수 있기 때문입니다. 일반적으로 머지..
Git Merge vs Rebase 차이점 Merge 와 Rebase의 차이 merge는 브랜치를 통합하는 개념이고, rebase는 브랜치의 base를 옮긴다는 개념이다. 위 그림에서, merge를 하면 그냥 브랜치를 가져다 다른 부분을 변경 시간에 따라 통합한다. 장점으로는 비파괴적(non-destructive) 이라서 존재하는 브랜치들에 변화를 주지는 않는 것이 있다. 단점으로는 잦은 merge는 git history를 어지럽혀서 가독성을 떨어뜨린다. 위 그림에서, B를 베이스로 시작해서 C와, D-E 브랜치가 생겼을 때, rebase를 해서 D-E의 베이스를 C로 재설정 하는 것을 볼 수 있다. 장점으로는, git history를 깔끔하게 해서 가독성이 좋아진다. 단점으로는, 여럿이 사용하는 public branch에 사용해서는 안된다. 왜..