我的存储库上有一些错误的提交(本示例中为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 pushGit 时,我会毫不犹豫地给我刷掉:
$ 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更加谨慎。