[GIT] 깃허브 커밋 메세지 변경
[GIT] 깃 커밋 메세지 변경
최근 유니티 공부를 하다 git push를 하는 과정에서 큰 용량 문제로 머리를 앓다 커밋 메시지를 ‘test’로 한 적이 있었다. 이를 변경하는 방법을 알아보자!
- 최근 unity 공부를 하던 중, 기존 unity 프로젝트 폴더 내부 파일을 만든 repository에 추가하려 했다.
- pull request에 익숙해지려 PR을 하는 방식으로 여러 번 push했다.
- 하지만, 익숙하지 않은 작업에 commit massage를 test로 여러 번 시도하던 중 commit이 성공했다!!
- 그러고 다른 작업을 하던 중 commit massage가 test로 남아있는 모습을 보게 됐다.
- 물론, 다른 작업을 push하기 전에 가장 최근 massage만 바꾸려면
$ git commit --amend -m "NEW MASSAGE"로 바꾸면 된다!
- 물론, 다른 작업을 push하기 전에 가장 최근 massage만 바꾸려면
- 이번엔 이것을 바꾸는 방법을 알아보자!
git editor 변경
- 커밋 메시지를 변경하는 과정에서 터미널에서 편집하는 과정이 있다.
- 기본 편집기는 nano다.
비교적 익숙한 vim으로 바꿔주자!
$ git config --global core.editor "vim"- 해당 명령어를 입력하면 git 옵션으로 실행하는 파일 편집이 vim으로 바뀐다.
git log 보기
다른 일을 할 때도 git log를 봐야 하는 경우가 있다.
$ git log해당 명령어를 입력하면 해당 repository의 기록을 볼 수 있다.
- 파란 선이 내가 test로 commit massage를 보낸 hash key이다.
- 하지만, rebase로 해당 로그로 이동하면 그 다음 기록부터 보인다.
- feat: Destroy enemy when hitten by bullet 부터 보인다는 뜻이다.
- 그래서 우린 빨간 선, 즉 이전 기록인 docs: Create README.md file의 hash key를 복사하자.
commit massage 바꾸기
- 이제 우리는 변경을 할 수 있는 위치를 알았다. 그렇다면 이제 이동해보자!
이동하는 것은 rebase로 할 수 있다.
$ git rebase -i [HASH_KEY]- 위 명령어를 입력하면 앞서 말한 것처럼 다음 기록부터 보인다.
- 각 commit massage 앞에
pick이라고 적힌 것을 볼 수 있다. 해당 명령어는 아래 파란 글씨로 적힌Commands:아래 적힌 의미이다. - 우린 test의 커맨드를
pick에서reword로 바꿀 것이다.
- 이제 우리는 해당 commit massage를 바꾸겠다고 선언했다. 해당 파일을 저장하고 종료하면 아래와 같은 화면이 나온다.
- 이미 변경한 사진이지만, 원래는 기존 massage인 test가 들어가 있다.
- 바꾸고 저장하고 나오자.
- 그럼 위와 같이 massage가 update됐다는 안내가 나온다.
수정 사항 git push하기
- 그럼 이제 push를 해주자. 그런데 그냥 git push를 하면 안 올라간다.
- 그 이유는 크게 두 가지가 있다.
- Hash 값 변경
- 원격 저장소와 로컬 저장소 충돌
- 이럴 때 우리는 강제로 push해야 한다.
강제로 push하는 명령어는 아래와 같다.
$ git push --force- 하지만, 해당 명령어는 말 그대로 강제로 밀어 넣기 때문에 협업 환경에서 다른 사람들의 결과물을 망칠 수 있다.
그러므로 force 뒤에 추가 옵션을 준다.
$ git push --force-with-lease- 위 옵션은 로컬과 원격 저장소의 동기화 상태를 확인한다.
- 만일 원격 저장소에 변경 사항이 있다면 실패해 충돌을 방지한다!
결과
- 그럼 우린 원격 저장소의 commit massage가 바뀐 것을 확인할 수 있다!!
This post is licensed under CC BY 4.0 by the author.







