如何覆盖更新的存储库

时间:2015-03-06 01:02:07

标签: git

我收到错误Your local changes to the following files would be overwritten by merge:因为我正在尝试推送我的文件,但回购已经被某人推了推。对该回购的唯一更改是对文件的几行,但是,我想覆盖该合并并使用我的本地文件作为新的,更新的回购。

所以基本上如何推送本地更改以便我可以覆盖合并?

对不起,如果这听起来很混乱,请告诉我是否需要澄清它。

感谢。

2 个答案:

答案 0 :(得分:2)

我相信您希望commit保存您当地的更改。 pull获取新的更改并合并到。push以使用新合并的更改进行更新。

拉动后你可能会发生合并冲突。大!这是您按照自己的方式编辑文件的机会。这是一个很好的帮助文档,如何执行此操作:https://help.github.com/articles/resolving-a-merge-conflict-from-the-command-line/

答案 1 :(得分:2)

听起来你还没有投入。如果您提交然后拉,git将引导您完成一个干净的合并,然后您可以毫无问题地推送。

或者,如果这不是您的问题,您可以强制推送。 然而强制推送是一种破坏性操作,即“嘿忽略那里的任何东西,让它看起来像我的本地。”你将以这种方式失去历史,你永远不应该在公共存储库中这样做。

我的建议是通过合并。如果你只改变了几行,那么进行合并不应该太痛苦。这样更好,因为它保留了你的所有历史记录。