프로젝트를 하면서 커밋 메시지에 오타가 있거나 내용을 빼먹고 이미 푸시까지 해버렸고 이런 실수는 프로젝트의 문서화와 이력 관리에 혼란을 줄 수 있기 때문에, 정확하게 수정하는 방법을 알고있어야한다.
프로젝트를 진행하면서 나 역시 간단한 오타, 내용의 누락 등 이 있었고 솔직히 이야기하면 굳이 수정해야하나? 라는 생각도 했었다. 하지만 명확하고 정확한 커밋은 팀원들이 변경사항을 이해하고 코드를 추적하는데 큰 도움이 된다. 잘못된 정보가 포함된 커밋 메시지는 혼란을 야기하고, 향후 문제를 진단하거나 해결하는데 어려움을 초래할 수 있다. 라는 이야기가 있어 작은 실수를 확실히 바로잡는게 중요하다고 생각하여 찾아보게 된 내용이다.
커밋 메시지 수정하기
우선 바로 직전 메시지를 수정한다고 가정하고 진행해보도록하겠다.
git rebase HEAD~1 -i
이 명령어를 사용하여 대화형 모드로 들어갈 수 있다. 바로 직전 커밋을 수정할 것이기 때문에 1번을 선택했지면 2, 3처럼 순서를 고려하여 지정해주면 된다.
대화형 모드로 들어가게되면 앞서 선택했던 커밋의 내용이 뜰 텐데 맨 앞쪽의 'pick'이라는 단어를 'reword'로 변경후 저장해준다. 그러면 'reword'로 변경되면서 커밋을 변경할 수 있게된다. 이후 커밋 메시지를 수정해준다.
마지막으로 강제로 푸시를해줘야한다. 강제로 푸시해주는 이유는 원격저장소의 내용과 로컬 저장소의 내용이 달라 변경사항을 깃허브가 받아들이지 못하기 때문이다.
git push origin 브랜치 --force
// git push origin 브랜치 --f 로도 표기 가능하다.
주의사항
Git 히스토리를 수정하기 전에는 반드시 팀원들과 상의를 해야한다. 다른 사람들의 작업에 영향을 줄 수 있기때문이다.
팀원들과 공유하는 상황이라면 사용하지 않는게 좋다.
수정하기전에 반드시 중요한 데이터는 백업해두고 진행하는것이 좋다.
'GIT' 카테고리의 다른 글
[GIT] Git 캐시(Cache) 삭제 (0) | 2024.07.03 |
---|---|
[GIT] Pre-commit 사용법 및 설정 가이드 (0) | 2024.05.17 |
[GitHub] GitHub에서 여러 리포지토리의 이슈/PR 템플릿과 라벨 복사 방법 (0) | 2024.05.14 |
GIT 커밋메시지 규약 정리 (0) | 2024.03.20 |
깃 커밋 시 작성자 따로 커밋자 따로 커밋 (0) | 2024.03.15 |