Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

개발자로 살아남기

[git] 이미 push한 commit message 수정하기 본문

git

[git] 이미 push한 commit message 수정하기

UnaUna 2023. 10. 25. 23:12

1. rebase로 에디터 들어가기

git rebase HEAD~1 -i

터미널에서 위의 명렁어로 직전 commit message를 수정하기 위해 에디터(편집모드)로 들어간다.
수정하고 싶은 commit이 몇번째 전인지 고려하고, 그 숫자로 변경해 입력한다.

  • rebase : base를 재설정, 다른 브랜치에서 진행된 최신 커밋을 가져와서 브랜치의 base를 옮기는 작업
  • HEAD : 모든 브랜치에는 HEAD 값이 존재하는데 해당 브랜치의 마지막 커밋을 의미
  • HEAD~n : n번째 전 커밋(1의 경우 바로 직전 커밋, 2의 경우 두번째 전 커밋)

2. 에디터에서 pick을 reword로 변경하기

편집모드로 들어가면 기존에 작성한 commit message 앞에 위치한 pickreword로 바꾼다.

  • delete : 수정 시 지우기
  • i : 삽입

변경을 완료 했다면 esc -> :wq! -> enter 순으로 해당 내용을 저장한다.

  • reword : commit mesage만을 수정하는 명령어

3. commit message 수정하기

원하는 commit message로 수정 후 esc -> :wq! -> enter

4. 강제(force) push 수행

git push origin 경로 --force
git push origin 경로 --f
  • --force : 원격 저장소의 내용이 로컬 저장소의 내용과 일치하도록 원격 저장소의 변경사항들을 강제로 덮어씌운다.

※force 명령어 사용 주의※

--force 명령어는 무조건적으로 원격의 내용을 로컬의 내용과 상관없이 강제적으로 덮어씌워 팀원이 작업해 push 해놓은 모든것을 덮어씌울수 있다. 이를 대신할 더 나은 방법은 옵션 --force-with-lease를 사용한다. 이 방법은 강제적으로 push 할 수 있지만, 다른 사람의 작업을 덮어씌우지 않도록 보장해주는 옵션이다.