解决`拒绝非
在我的本地git仓库中,我主要有:
* commit A
|
* commit B (master) (origin/master)
我做了一些改变,现在是:
* commit A
|
| * commit B (develop) (origin/master)
|
* commit C (master)
我希望Git repo(托管在beanstalkapp.com上)能够更新以反映这一点,并且看起来像:
* commit A
|
| * commit B (develop) (origin/develop)
|
* commit C (master) (origin/master)
我怎样才能做到这一点? git push
失败, denying non-fast-forward refs/head/master
。 我有什么选择来解决这个问题?
我的回购并不是非常有组织,我想重复它的一劳永逸。
你被允许进行强制推送吗?
否则,您是否允许删除分支? 在这种情况下,您可以删除旧分支并推送新分支,这与强制推送基本相同。
git checkout master
git merge origin/master strategy=ours
git push origin master
“我们的”策略忽略了提交A
和B
之间所做的所有更改,并进行“假”合并(仅限名义合并)。 git push
然后高兴地在旧的origin/master
和新的master
之间进行一个快速前进的提交。
结果:
* commit A
|
| * commit B (develop)
| |
* | commit C
| /
* commit D, but identical to C (master) (origin/master)
链接地址: http://www.djcxy.com/p/49039.html