튜토리얼 3: 커밋을 변경해보자!

7. merge --squash

이 튜토리얼에서는 사전에 이력이 준비되어 있는 로컬 저장소를 사용합니다.

여기에서 다운로드 해 주십시오.

위에서 다운로드 한 stepup-tutorial/tutorial7 폴더로 이동합니다. 이 저장소의 이력은 다음 그림과 같습니다. 이번에는 'issue1' 브랜치의 모든 커밋을 하나의 커밋으로 병합하여 'master' 브랜치로 가져와 보도록 하겠습니다.

저장소 이력

'master' 브랜치로 이동한 후, '--squash' 옵션을 지정하여 merge 를 실행합니다.

$ git checkout master
Switched to branch 'master'
$ git merge --squash issue1
Auto-merging sample.txt
CONFLICT (content): Merge conflict in sample.txt
Squash commit -- not updating HEAD
Automatic merge failed; fix conflicts and then commit the result.

충돌이 발생했으므로, sample.txtㅊ를 열어 충돌 부분을 수정한 후 커밋합니다.

$ git add sample.txt
$ git commit
[master 0d744a7] Conflicts:   sample.txt
 1 files changed, 4 insertions(+), 0 deletions(-)

이로써 'issue1' 브랜치 상의 모든 커밋을 하나로 병합한 내용이 'master' 브랜치에 추가되었습니다. log 명령어를 실행하여 이력을 확인합니다.