我有一个仓库,其中存在一些不好的提交(以此示例为例,为D、E和F)。
A-B-C-D-E-F master和origin/master
我使用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
操作了。 - VonC