GitNotes.7-6.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 7.6: 일련의 커밋들을 한꺼번에 되돌리거나 다시 적용하기

만약 여러개의 연속된 커밋들을 되돌리면서 그 중에 몇개의 커밋은 유지하고 싶은 경우, 아래와 같은 작업을 수행한다:

git rebase -i <rebase를 시작할 기준 커밋 SHA>

-i 옵션은 rebase 를 "대화형 (interactive) 모드" 로 동작하게 해 준다. rebase 수행에 따른 실제 커밋을 replay 적용하기 직전에, 앞으로 replay 될 각각의 커밋들에 대해 수행할 작업을 신택할 수 있도록 잠시 rebase 작업을 멈추게 된다.

rebase -i 수행시 아래와 같이 적용될 커밋들과 각 수행할 작업 목록을 편집할 수 있도록 사용자의 기본 편집기에 표시하여 줄 것이다:

commit_list

커밋을 제거하고 싶다면, 간단히 해당 라인을 편집기에서 삭제하기만 하면 된다. 위 그림에 표시된 예제에서, 잘못된 커밋들을 프로젝트에서 제거하고자 한다면 1 번 라인과 3-4 번 라인을 삭제하면 된다. 만약 두개의 커밋을 하나로 합치고자 한다면, squashfixup 명령을 아래와 같이 기입하여 준다.

rebase_commands

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

'번역 > Git Notes for Professionals' 카테고리의 다른 글

8.1: 자동으로 머지가 완료되는 경우  (0) 2019.10.10
8: Merge 하기  (0) 2019.10.02
7.5: 기존 커밋들 되돌리기  (0) 2019.10.01
7.4: merge 작업 되돌리기  (2) 2019.09.30
7.3: reflog 활용하기  (0) 2019.09.20

+ Recent posts