커밋 메시지를 변경하는 등 git log를 수정할 때는 vi 편집기를 이용하는데, 이에 익숙하지 않아 삽질했던 경험을 작성합니다.
가장 최근 커밋 메시지 수정
git commit --amend -m "changed commit"
최근 커밋 메시지는 -m 으로 vi 편집기를 거치지 않고 바로 수정이 가능합니다.
이번엔 vi 편집기를 사용하는 방법을 보겠습니다
git commit --amend
해당 명령어를 입력하면 터미널이 vi 편집 화면으로 바뀝니다.
커서는 깜빡거리지만 입력이 되지 않습니다.
키보드에서 i를 눌러 편집모드(INSERT)로 변경할 수 있습니다. 이 모드에서 글자 수정이 가능합니다.
첫 줄에 있는 커밋 메시지를 수정하고 esc -> :wq 를 입력하여 vi를 종료할 수 있습니다. (:wq 에서 세미콜론도 눌러야합니다)
저장하지 않고 종료는 :q 입니다.
git log 입력하면 커밋 메시지가 수정된 것을 볼 수 있습니다.
특정 커밋 메시지 수정
git rebase 를 이용하여 특정 커밋을 수정할 수 있습니다. 2번 커밋을 수정해보겠습니다.
git rebase -i HEAD~3
위의 명령어를 입력해 최근 3개의 커밋을 rebase합니다.
그 중 두번째 커밋을 수정하기 위해 두번째 커밋에서 pick을 reword로 수정하고 :wq 를 입력하여 저장 종료 합니다.
(가장 최근 커밋이 밑에 위치합니다)
저장 종료하면 바로 해당 커밋 메시지의 편집창이 뜹니다.
커밋 메시지를 수정후 마찬가지로 :wq로 저장종료합니다.
git log를 보면 수정된 것을 확인할 수 있습니다.
오류에 관한 내용입니다.
vi 에 익숙지 않은 상태에서 이것저것 만지다보니 오류가 많이 났습니다.
가장 컸던건 위와 같은 Found a swap file by the name "~" 경고였습니다.
이는 당황하지말고 엔터를 계속 친후 입력창이 나오면 Q로 vi를 나온 후 명령창에서 rm -f "~.swp"으로 스왑 파일을 제거해주면 됩니다.
'개발 > Git' 카테고리의 다른 글
[Git] Please use a personal access token instead 에러 해결 (0) | 2021.07.28 |
---|---|
[Git] 원하는 파일의 코드 줄 수(LOC) 확인하기 - git ls-files 에서 특정 파일 제외 (0) | 2021.03.08 |
[Git] 최근 커밋 삭제하는 법 (0) | 2021.01.27 |
[Git] 파일 이동 되돌리기 - git reset, git checkout (0) | 2021.01.04 |
git README.MD 마크다운 사용법 (0) | 2020.04.19 |
댓글