본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.
Section 16.4: 자동 squash (autosquash) / 자동 fixup 기능 사용하기
변경 사항 커밋 시, 현재 생성하려는 커밋이 추후에 다른 특정 커밋에 합쳐질 (squash) 것임을 설정해 놓을 수 있다. 해당 기능을 이용하려면 아래와 같은 명령어를 입력하도록 한다.
git commit --squash=[이 커밋이 합쳐질 (squash) 대상 커밋의 커밋 해시값]
혹은 squash 대신 fixup 이 필요한 경우에는, --fixup=[commit hash]
옵션을 이용할 수도 있다.
또한 커밋의 해시값을 지정하는 대신 커밋 메시지에 사용된 단어를 사용할 수도 있다. 다음 명령어를 참고하라.
git commit --squash :/things
위 명령어 수행 시, 'things' 이라는 단어가 커밋 메시지에 사용된 가장 최근 커밋이 선택될 것이다.
이렇게 합쳐질 대상이 지정된 커밋들의 커밋 메시지는 'fixup!' 혹은 'squash!' 로 시작하게 되며 그 뒤로 합쳐질 대상 커밋의 커밋 메시지가 따라오게 될 것이다.
역주: 자동으로 입력된 위 커밋 메시지를 임의로 변경시 autosquash 가 정상 동작하지 않습니다.
이러한 자동 squash/fixup 기능을 실제 적용하려면 rebase 수행시 --autosquash
옵션을 주어야 한다.
역주: 대화형 (interactive) rebase 에
--autosquash
옵션을 주면 자동으로 해당 커밋들에 대한 명령줄이 squash 로 입력되어 있을 것입니다.
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
17: cherry-pick 하기 (0) | 2019.11.27 |
---|---|
16.5: 자동 stash (autosquash): rebase 시에 squash 시킬 코드 커밋하기 (0) | 2019.11.26 |
16.3: rebase 수행 중에 squash 하기 (0) | 2019.11.26 |
16.2: merge 수행 중에 squash 하기 (0) | 2019.11.25 |
16.1: rebase 하지 않으면서 최근 몇개의 커밋들을 squash 하기 (0) | 2019.11.25 |