1

我有一个关于做 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

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

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

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

4

2 回答 2

4

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

于 2013-04-24T12:50:38.520 回答
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

于 2013-04-24T13:08:49.180 回答