말씀드린 것처럼 미완성 코드를 브랜치에서 마스터로 머지하고 git이 github에 푸시한 뒤 dev에서 계속해서 코드를 개선하다가 머지를 철회하고 싶을 때, 로컬 병합이 불가능합니다. github에 푸시했는데 왜 충돌이 발생했는지 모르겠습니다.
巴扎黑2017-05-02 09:49:43
로컬에서 병합하는 경우 git reflog
을 통해 과거 작업을 볼 수 있으며 git reset --hard HEAD@{n}
를 통해 리플로그의 n
단계로 돌아갈 수 있습니다.
원격 마스터를 이전 상태로 되돌릴 수 있습니다 git push origin master -f
이때 로컬 마스터도 최신 상태여야 합니다. 먼저 git checkout master
기록을 살펴본 다음 git log
커밋 해시를 기반으로 롤백합니다. git reset --hard xxxxxx
원격 마스터를 업데이트할 수 있습니다git push origin master -f
git push origin master
만들 수는 없습니다. 커밋하고 코드를 수동으로 수정하고 병합 전 상태로 롤백하므로
할 필요 없이 직접 -f
업데이트git push origin master
할 수 있습니다.