为什么在尝试从我的存储库中提取时出现合并错误?

时间:2013-04-24 12:43:28

标签: git

我有一个关于做git pull的git问题,它说

error: Your local changes to the following files would be overwritten
by merge:  
         testFile.java 

Please, commit your changes or stash them before you can merge. Aborting

如果我只想用存储库中的新文件覆盖这个文件,我该怎么做?

我可以以某种方式获取并覆盖我的本地文件吗?

错误:合并后将覆盖对以下文件的本地更改:         模式/ rjtsml.xsd 请在合并之前提交更改或存储更改。 中止

2 个答案:

答案 0 :(得分:4)

git checkout -- testFile.java将使用repo中的文件覆盖本地文件。 git checkout --help如果您需要更多信息。

答案 1 :(得分:1)

正如mardavi已经在他的回答中提到的那样,如果你想用遥控器的版本覆盖本地文件,你可以做一个简单的git checkout -- testFile.java但是,这只会使用您.git文件夹中包含相关信息的远程版本更新文件。由于您已经提到您尝试执行git pull,因此我假设您要使用可能已更新的远程更新本地存储库。如果是这种情况,您应该执行以下操作:

使用.git文件夹中包含以下信息的版本覆盖testFile.java文件:

git checkout -- testFile.java

从远程存储库获取数据以更新数据库并将其与本地分支合并。这实际上是对 git-pull 命令的描述。所以你只需执行:

git pull

现在您的本地分支应该是最新的,并且 testFile.java 具有来自远程服务器的最新更改。

我建议阅读以下内容:Git Branching - Remote Branches