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