我有一个关于做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 请在合并之前提交更改或存储更改。 中止
答案 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