我有一个仓库,它有一些坏提交(在这个例子中,D,E和F)。Git reset --hard和一个远程仓库
A-B-C-d-E-F主站和原点/主
我已经与一个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 [email protected]:myrepo.git
! [remote rejected] master -> master (non-fast forward)
error: failed to push some refs to '[email protected]:myrepo.git'
我如何获得远程回购采取本地回购的现状如何?
这是一个“几乎”重复的几个“我如何推送修订历史问题”,例如在这里看到答案http://stackoverflow.com/questions/253055/how-do-i-push-amended-commit-to-the-remote-git-repo/255080#255080 – 2009-09-04 08:26:42
这是真的,我已经搜索StackOverflow for发布前的答案。然而,我的搜索只是出现了一个解决问题的答案。感谢您链接到您的文章:) – robertpostill 2009-09-04 08:52:14
您将很快(git1.8.5,2013年第4季度)能够[更仔细地执行'git push -force'](http://stackoverflow.com/a/18505634/6309) 。 – VonC 2013-09-10 08:42:31