1. git rebase -i HEAD~3 (수정을 시작할 커밋의 이전 커밋)
이 명령어를 실행하면 "수정을 시작할 커밋의 이전 커밋" ~ "현재 커밋(HEAD)" 범위에 있는 모든 커밋들의 리스트가 출력된다. 예를 들어 git rebase -i HEAD~3
를 실행하면 HEAD ~ 2, HEAD ~ 1, HEAD 커밋들이 출력된다.
2. 수정하고 싶은 commit message 좌측의 pick
을 reword
로 바꾸기
reword
로 수정하고 esc
+ :wq
(write and quit)하고 나오면 이렇게 commit message 수정 창이 이어서 뜬다. 이 때 수정해주고 다시 :wq
3. git push origin +master
remote 저장소와 local 저장소의 내용이 다르므로, 강제로 remote로 push해준다.
이렇게 하면 끝!
※주의※
수정할 시작할 커밋의 이전 커밋 ~ 현재 커밋(HEAD) 범위의 모든 커밋 리스트들을 다 출력한 것이므로,
강제로 push하게 되면 수정하지 않은 커밋 메세지들까지 싹 다 그대로 push 된다.
(시간만 update될 뿐 영향은 x)
따라서 웬만하면 사용하지말자... 모든 커밋 기록들 싹 다 건드리므로 conflict날 확률 큼(remote와 local)
git push origin +master로 강제로 push하게 되면, 여전히 local과 remote repo의 커밋 이력 내용이 다르기 때문에(일회성, 임시방편), 웬만하면 이용하지 말자...
다르면 pull 받아오던지, 아니면 계속 임시방편으로 강제 push 해야함
'[ Git ]' 카테고리의 다른 글
[Git] Git Clone vs Git Pull (0) | 2022.08.12 |
---|---|
[Git] 새로운 pc에서 기존 git 관리 프로젝트 옮겨 사용하기 (0) | 2022.08.12 |
[Git] .gitignore으로 .ipynb_checkpoints 제거하기 (0) | 2022.08.12 |
[Git] .gitignore 설정하기 (0) | 2022.08.12 |
[Git] 100MB 이상의 파일 github에 업로드하기 (0) | 2022.08.12 |