나는 약간의 커밋이있는 저장소를 가지고있었습니다 (이 예에서는 D, E 및 F).
ABCDEF 마스터 및 원산지 / 마스터
로컬 저장소를 특별히로 수정했습니다 git reset --hard
. 재설정 전에 지점을 가져 왔으므로 이제는 다음과 같은 저장소가 있습니다.
A-B-C master
\ D-E-F old_master
A-B-C-D-E-F origin/master
이제 나쁜 커밋의 일부가 필요했기 때문에 필요한 비트를 선택하고 새로운 커밋을 만들었으므로 이제 로컬로 다음을 수행했습니다.
A-B-C-G-H master
\ D-E-F old_master
이제이 상태를 원격 저장소로 푸시하고 싶습니다. 그러나 git push
Git을 정중하게 하려고 하면 솔이 나옵니다.
$ git push origin +master:master --force
Total 0 (delta 0), reused 0 (delta 0)
error: denying non-fast forward refs/heads/master (you should pull first)
To git@git.example.com:myrepo.git
! [remote rejected] master -> master (non-fast forward)
error: failed to push some refs to 'git@git.example.com:myrepo.git'
원격 저장소를 로컬 저장소의 현재 상태로 가져 오려면 어떻게해야합니까?
git push -force
주의 깊게 더 .