Git rebase, merge, stash
posted on 04 Sep 2024 under category git
두 명령어 모두 브랜치 간의 변경사항을 통합하는 데 사용하나 사용 방식, 결과가 다름
💫 merge
$ git checkout main
$ git merge feature-branch
이렇게 하면 feature-branch의 모든 변경사항이 main 브랜치에 통합.
장점 : 원래의 브랜치 히스토리 유지.
단점 : 복잡한 브랜치 히스토리 생성가능.
💫 rebase
$ git checkout feature-branch
$ git rebase main
장점 : 선형적인 커밋 히스토리를 생성.
단점 : 과거의 커밋 히스토리를 변경, 협업 중인 경우 다른 사용자와 충돌이 발생가능
💫 stash : 변경사항 임시 저장 및 복구
임시 저장
$ git stash save "임시 저장 메시지"
임시 저장 목록 보기
$ git stash list
임시 저장된 변경사항 복구하기
$ git stash apply stash@{0} # 가장 최근의 stash 적용
임시 저장된 변경사항 제거하기
$ git stash drop stash@{0}
✔ git stash pop은 apply와 drop을 동시에 수행