LHJ

I'm a FE developer.

git commit 기록 수정하기

17 May 2020 » git

git commit 기록 변경하기

커밋 기록을 조회합니다.
변경하고 싶은 커밋기록의 hash 번호를 확인합니다.

git log --oneline

5f76815 ~~ (HEAD -> master, origin/master)
e6d6d51 ~~  // 내가 변경하고 싶은 커밋기록
68b2987 ~~

아래처럼 변경하고자하는 커밋기록으로 돌아간다.

git rebase -i 68b2987   // 변경 원하는 커밋기록 이전 커밋번호

// 또는

git rebase -i  HEAD~2  // HEAD가 가리키고있는 지점이 숫자 1

위 명령어가까지 입력하면 vi 편집기가 나타납니다.

edit e6d6d51 ~~~
pick 5f76815 ~~~

변경하기 원하는 커밋기록 부분의 pick을 edit로 변경 후
esc 키입력 후 :wq 엔터입력

여기서부터 다시 커밋기록을 쌓아나가면 된다.
추가할 커밋기록이 있으면 추가하고, 커밋 메시지만 수정하고 싶으면 수정하고..
여튼 커밋하려면

git commit --amend

위 명령어 입력 왜냐면 내가 수정하고 싶은 e6d6d51 커밋 기록을 수정해야되므로.. 바로 이전 커밋기록 수정한다는 의미
그리고

git rebase --continue // 이 명령어로 원래 다음 커밋기록이었던 5f76815 커밋기록 불러옴

git status // 충돌안났는지 상태 확인 후 

git add * // 다시 추가 후

git commit -m '커밋메시지'  // 다시 커밋

즉, 수정하고 싶은 내역의 커밋기록을 수정 후,
그 다음 커밋은 다시 재커밋을 실행하여 새롭게 커밋을 쌓아나가는 것이 rebase

git push origin branch이름 -f

다른 사람이 아직 보기 전, 또는 pull 받기 전이라면 얼릉 강제 푸시해서 커밋기록을 변경~!
그러면 끝~!


추가~!!!!

git rebase -i (해당해시번호의 이전번호)  

1. 충돌 안난경우
수정하고 싶은 부분 모두 pick -> edit
git commit --amend로 커밋
git rebase --continue로 진행

2. 만약 충돌이난다면?
충돌 해결 이후 다시 git commit
그리고 git rebase --continue