[Git] 특정 커밋 수정하기

ETC

Language :

작업 전 주의사항

강제 푸시를 실행해야 하기 때문에 공동 작업자가 있을 경우 Git이 꼬이지 않도록 협의 후 진행한다.

수정할 커밋 확인

feat: two를 수정하기 위해 그 직전 커밋 해시를 복사한다.

git log
mintty.2023-09-12_10-44-53.png

git log

커밋을 수정할 수 있도록 설정

git rebase 명령어를 대화형으로 실행한다.

git rebase -i {commit_hash or HEAD}
git rebase --interactive {commit_hash or HEAD}
git rebase --interactive 8a7b752c75de3b60c4e316de10dec5b567a0b0f5

지정한 커밋 해시 다음부터 현재(HEAD) 범위에 있는 모든 커밋이 표시된다.

mintty.2023-09-12_10-47-34.png

수정할 커밋 앞에 표시되어 있는 pick을 edit으로 변경하고 저장한다.

mintty.2023-09-12_10-47-48.png

저장이 완료되면 안내 문구가 표시된다. 커밋을 수정 처리하는 명령어들로 다음 순서 후 실행한다.

mintty.2023-09-12_10-48-17.png

커밋 수정

파일 수정을 진행한다.

수정이 완료되면 git add로 Git 준비(staging) 영역에 추가한 후 커밋한다.

git commit --amed

화면에 표시되는 커밋 내용은 :q로 빠져나온다.

mintty.2023-09-12_10-50-51.png

mintty.2023-09-12_10-51-11.png

git rebase를 완료한다.

git rebase --continue
mintty.2023-09-12_10-52-19.png

변경 확인

git log로 수정한 커밋부터 최신 커밋까지 커밋 해시가 바뀐 것을 확인할 수 있다. git status에서는 몇 개가 변경되었는지 확인할 수 있다.

mintty.2023-09-12_10-52-26.png

적용

강제 푸시로 원격 브런치를 덮어쓴다.

git push origin dev --force
mintty.2023-09-12_10-54-08.png

Reference

https://docs.github.com/ko/get-started/using-git/using-git-rebase-on-the-command-line

https://homoefficio.github.io/2017/04/16/Git-과거의-특정-커밋-수정하기

https://ios-development.tistory.com/1355

민갤

Back-End Developer

백엔드 개발자입니다.