REBASE를 취소하는 방법
잘못 리베이스된 git이 remote까지 반영된 경우, 이걸 취소해야하는 경우가 있다. 이때는 reflog와 reset을 사용하면 된다.
1. git reflog 브랜치명
이 명령문은 잘못 리베이스한 로컬 컴퓨터에서 실행해야한다. 그래야 리베이스 로그를 볼 수 있다.
그리고 이 명령문은 그냥 로그를 보는 거여서, 막 쳐봐도 된다. 무서워할 필요 없다.
2. git reset -- hard 128e6d4
reflog를 보고, 돌아가고 싶은 커밋명을 찾는다. 그다음 그 커밋명을 위에 명령문처럼 쓰고, 이전 커밋 이력을 모두 reset한다.
3. git push -f origin 브랜치명
이렇게 리셋한 커밋이력을 리모트로 강제 푸시를 해야한다. 그러니 -f 옵션을 추가한 후, git push를 해주면 된다.
참고 포스팅 : How to undo a mistaken git rebase (LIFE SAVER)
'소프트웨어-이야기 > git' 카테고리의 다른 글
[Git] 신입 소프트웨어 엔지니어에게 유용한 Git 명령어 (0) | 2016.05.14 |
---|---|
[git]STASH - 브랜치에서 다른 브랜치로 이동하기 전에, 커밋전에! 내가 한 코드 임시 저장하기! (1) | 2015.12.26 |