git rebase
git rebase
의 용도는 주로merge
에 이용되긴 하지만, 커밋 내역을 수정/삭제 할 때에도 많이 쓰인다.
먼저 git rebase
를 사용하기 위한 커밋 내역은 다음과 같다. 아래쪽으로 갈수록 최근 커밋이다.
test-1
생성 후 커밋test-1
수정 후 커밋test-1
삭제 후 커밋test-2
생성 후 커밋
Commit message 수정하기
아래 명령어로 최근 n개의 커밋을 확인해 볼 수 있다. -i
옵션은 interactive
모드를 의미하며 새 에디터가 열린다. (최근 3개의 커밋 내역을 상호작용 모드로)
$ git rebase -i HEAD~3
여기서 2번째 커밋 메시지"delete test-1"
를 수정하려면 pick
키워드를 reword
키워드로 고쳐준다.
그러면 아래와 같이 새 에디터가 뜨게 된다. 그 곳에서 커밋 메시지를 변경할 수 있다.
delete test-1
에서 will be removed
로 커밋 메시지를 수정했다.
이후 git log
로 확인해 보면 실제로 커밋 메시지가 변경된 것을 볼 수 있다.
특정 commit 삭제하기
특정 커밋을 삭제하기 위해선 커밋 메시지를 수정할 때와 마찬가지로 git rebase
명령어를 통해 커밋 내역들을 확인한다.
그리고 위와 같이 drop
키워드를 사용하면 된다.
다시 한 번 git log
로 커밋 히스토리를 확인해 보면 없애려던 will be removed
커밋이 아예 삭제된 것을 볼 수 있다.
실제 디렉토리에 가보더라도 test-1을 삭제 후 커밋
한 행동이 사라졌기 때문에 test-1
파일이 남아있음을 확인할 수 있다.
'Git' 카테고리의 다른 글
[Git] git revert 사용하여 Commit 되돌리기(Undo) (0) | 2021.06.05 |
---|---|
[Git] git add, git commit, git push 취소하기 (0) | 2021.06.05 |
[Git] Permission denied (publickey). fatal- Could not read from remote repository (0) | 2021.06.04 |
[Git] Logon failed. use ctrl+c to cancel basic credential prompt (0) | 2021.06.04 |