본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 16.2: merge 수행 중에 squash 하기
git merge --squash
명령어를 이용하면 merge 할 브랜치로부터 변경사항들을 하나의 커밋으로 squash 할 수 있다. 실제 커밋이 생성되지는 않는다.
역주: 실제 커밋이 생성되지는 않는다는 말은, merge 될 변경사항들이 stage 영역에 추가될 것임을 의미합니다.
git merge --squash <branch>
git commit
위 명령어는 이전 섹션에서 설명한 git reset
을 수행하는 것과 동일한 효과를 가지나, 변경사항을 가져오려고 하는 대상이 (브랜치 이름 등의) symbolic name 을 가지고 있을 때는 훨씬 편리하다는 장점이 있다. 동일한 작업을 reset 을 이용해서 수행하는 아래 작업과 비교해 보라:
git checkout <branch>
git reset --soft $(git merge-base master <branch>)
git commit
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
16.4: 자동 squash (autosquash) / 자동 fixup 기능 사용하기 (0) | 2019.11.26 |
---|---|
16.3: rebase 수행 중에 squash 하기 (0) | 2019.11.26 |
16.1: rebase 하지 않으면서 최근 몇개의 커밋들을 squash 하기 (0) | 2019.11.25 |
15.1: master 에는 있지만 origin/master 에는 존재하지 않는 커밋들 검색하기 (0) | 2019.11.25 |
14.11: 현재 브랜치의 HEAD 를 특정 커밋으로 이동시키기 (0) | 2019.11.22 |