본문 바로가기

개발 관련 기록과 정리/Git

github 커밋 이력 변경하기

경고!! git rebase 의 절차를 따라서 안하면 커밋 이력이 전부 사라진다!

자신 없으면 백업을 해두자! 실수해서 이력 전부 날리고 후회하지 말고... 날려보면 피눈물이 나올것이다...

 

 

git log --pretty=format:"%h = %an , %ar : %s" --graph

프로젝트 폴더를 gitBash 터미널을 열어 위 명령어를 입력한다.

이러한 이력이 보인다. 기준을 잘못 잡아서 변경을 2번해서 트리가 많다...

변경하고자 하는 이력의 ID를 가져올때 기준을 변경하려는 ID 앞에 것을 선택해서 가져오자!!

인그러면 일을 2번하게 된다...

 

git rebase -i -p 5d6136e

난 first 부터 문제였기 때문에 그 앞 버전의 아이디를 가져와서 위와 같이 ID를 입력해서 리베이스를 선택한다.

 

우선 부분을 키보드 i 를 누르면 편집 가능해진다. 그리고 pick 라고 앞에 있을 것이다. 이 중에서 변경하고자 하는 커밋 정보를 edit 로 변경한다.

변경이 끝났으면 esc → :wq! 순으로 입력해서 저장하고 다음으로 넘어간다.

 

위와 같은 상태로 변할 것이다.

 

ps. 변경 취소

더보기
git rebase --abort

여기까지 와서 변경을 취소하고 싶으면 위 명령어를 입력하고 빠져나가자.

 

계속 진행하고자 한다면 아래 명령어를 입력한다.

git commit --amend --author="이름 <주소@email.com>"

입력하면 이상한 화면이 나올것이다. 먼 말인지 모름 대충 로그 같음

해당 화면에서 :q 입력하고 빠져나온다.

 

git rebase --continue

위와 같이 입력하면 수정이 완료된다.

 

그후 pull 하고 push 하면 이력이 변경되어 있을 것이다.