주의!
먼저 다른 사람이 pull/push를 하지 않았는지 살펴보고, 안전하다고 생각되는 경우에만 시도한다.
상황 및 원인
remote에 push를 하였는데, 다시 rebase를 하고 싶다. 그런데
git push -f origin <branch>
를 해버리면 non-fast forward
에러가 난다. 이 경우는 receive.denyNonFastForward
가 켜져 있는 경우로, 이것을 꺼줘야 제대로 작동하게 된다.
방법
remote에서
git config --local --get receive.denyNonFastForward
를 입력해보면 true
가 나온다. 이것을
git config --local receive.denyNonFastForward false
를 입력하여 잠시 기능을 정지시킨 후, working tree에서
git push origin <branch> --force
를 하여 강제로 push한다. 그리고 다시 origin에서
git config --local receive.denyNonFastForward true
를 하여 원상태로 복구한다.
댓글
댓글 쓰기