Git工作流程:"您的本地更改将被合并覆盖#34;

时间:2015-05-20 13:43:35

标签: git github merge

我一直在与三台服务器上的其他开发人员合作:

  1. 我的本地VM
  2. 开发服务器
  3. 直播服务器
  4. 我采用的工作流程是,在我的本地VM上完成所有工作,然后将更改从repomote存储库拉到dev服务器(dev分支)和live server(与dev分支合并后的主bean)

    不幸的是,另一位开发人员修改了一些文件,直接在实时服务器上安装Wordpress插件。因此,当我尝试将实时服务器上的master分支更新为远程reposiotry上的master时,我收到类似这样的消息:

    Error: Your local changes to 'plugins/bulk-page-creator/bulk-page-creator.php' would be overwritten by merge.  Aborting.
    

    请提交您的更改或存储它们,然后才能合并。

    我猜这些文件没有被跟踪。我真的想避免从本地VM以外的服务器提交远程仓库。

    我在这里有什么选择来解决这个问题。我只需要使用远程仓库将实时服务器上的代码库更新 - 这就是它。

    我应该以某种方式放弃这些本地更改吗?

    我还尝试将代码库与:

    同步

    git fetch git merge FEATCH_HEAD

    没有运气。

    我有什么选择?

1 个答案:

答案 0 :(得分:1)

你是对的,你得到那条消息是因为文件已经存在于本地,没有在当前检出的版本中跟踪,你想要合并的提交包含文件。

当Git在合并之前已经知道该文件时,它可以安全地同意覆盖它,但是在这种情况下你有可能拥有该文件并且不知道Git现在会覆盖它,所以Git只是不会这样做。

要解决此问题,您只需要为Git腾出空间来执行合并。您可以通过两种简单的方式完成此操作:

  1. 删除文件。这样,Git就可以从新提交中检出文件而不会有任何冲突。
  2. 重命名文件。与上述相同,但如果您想确保本地所做的一切也包含在跟踪文件中,您有机会恢复本地更改。