티스토리 뷰

이 포스트는 아래 이슈 내용을 정리하였습니다. 
https://github.com/colorworld-kr/test-git/issues/2

 

이미 커밋한 내용의 메시지만 변경하는 방법 (모든건 그대로 유지) · Issue #2 · colorworld-kr/test-git

(x실패) https://xtring-dev.tistory.com/entry/Git-이미-commit한-메세지-수정하기-바로-이전그-전리모트-commit

github.com

깃을 사용하고는 있지만, 깃은 항상 뭔가 어렵고, 실수하면 돌이킬 수 없게 엉망진창이 될 것만 같은 까다롭고 성가신 존재입니다.
여러가지 난감한 상황 중 이번에는 깃 메시지의 오타를 수정하고 싶을 때를 가정하여 테스트를 해 보았습니다.
총 5개의 경우로 나누어 테스트하고 그 결과를 기록에 남깁니다.
(이슈 내용-링크-에는 기대와 다른 결과의 테스트 내용들도 확인할 수 있습니다.) 

1.커밋하자마자 오타 발견
2.커밋 몇번 하고 오타 발견
3.메인 브랜치에 머지하고 오타 발견
(이 아래 테스트는 공동 작업시에는 어떻게 되는지?까지 테스트를 진행하지는 않았습니다.)
4.메인 브랜치를 푸쉬하고 오타 발견
5.머지와 푸쉬가 여러번 있은 후 오타 발견 

 

1.커밋하자마자 오타 발견

# 가장 최근의 commit 수정하는 명령어
git commit --amend

 
git commit --amend 를 사용하고 커밋을 수정할 수 있는 창이 뜨면, 수정을 완료한 후 esc -> :wq(저장 + 창 닫기) 를 해주면 됩니다.
 

2.커밋 몇번 하고 오타 발견

 

3.메인 브랜치에 머지하고 오타 발견

- main 브랜치를 머지하기 전 커밋으로 옮긴다.

- 브랜치를 옮긴 후 2번의 경우와 같이 rebase 작업을 동일하게 진행한다.

- 다시 main 브랜치에 머지한다.

 
 
 
 

(이 아래부터 진행된 테스트 내용은 공동 작업시에는 어떤 불상사가 일어나는지는 테스트해 보지 않았습니다. 추후 여유될 때 진행하고 공유하도록 하겠습니다.)

4.메인 브랜치를 푸쉬하고 오타 발견

- 3번의 경우와 같이 rebase를 진행한다.

- main 브랜치를 강제 push한다.

- 원하는 결과대로 수정된 것을 확인할 수 있습니다.(단, 다른 사용자에게 어떤 영향을 미치는지는 확인되지 않았습니다.)

 
 

5.머지와 푸쉬가 여러번 있은  오타 발견 

- 아래 테스트는 진행해 보지 않았고, 개념만 설명합니다.

  1. main 브랜치를 1. 커밋으로 hard reset한다.
  2. 2. 브랜치로 체크아웃한다.
  3. 3. 커밋 메시지를 수정한다. 
  4. main 브랜치로 체크아웃한다.
  5. 2.4. 브랜치들을 순서대로 머지한다.
  6. main 브랜치를 force push 한다. (필요에 따라 다른 브랜치들도 force push 한다.)