2013-03-02 141 views
2

我的远程配置为不接受非快速提交提交。git推送到远程不接受

远程版本与我的本地版本完全不同。我想重写它。我不想合并或改变任何东西。而且,我的本地存储库是作为一个干净的git init启动的,而不是从服务器拉出来的。

我做git push origin master --f但我得到

remote: error: denying non-fast-forward refs/heads/master (you should pull first) 

我不想拔,因为它会与我的版本合并,我不想。

什么是正确的程序?

+0

可能'--f'是错误吗? – sjas 2013-03-02 13:26:40

回答

2

这是git push -f origin mastergit push --force origin mastergit push --f将无法​​正常工作。

+1

值得重申的是,这将*破坏你强行覆盖的任何分支的所有历史*。这些变化将永远消失。 – 2013-03-02 14:24:48

+0

谢谢,这是一个愚蠢的错误。 – Tony 2013-03-02 16:15:50

+0

其实,只有git覆盖了分支引用**。对象本身不会立即删除,并且仍然存在于对象数据库('.git/objects')中。然而,一段时间后,一个git垃圾收集器最终会摧毁那些悬挂的对象。 – 2013-03-18 14:38:07

0

由于您正在使用相同的回购计划,因此您需要首先进行回购。

你可以试着藏匿更改:

git stash 

,当我开始使用git我有这个错误很多次。我的解决方案是在另一个目录中工作,然后从中拉出,确保它永不冲突