GitNotes.16-4.md
본 문서는 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)

반응형

+ Recent posts