如何忽略Git pull上的以下错误消息?

您对以下文件的本地更改将被合并覆盖

如果我想覆盖它们怎么办?

我试过像git pull-f这样的方法,但没有任何效果。

要明确的是,我只想覆盖特定的更改,而不是所有更改。


当前回答

由于您的分支位于xx提交的“origin/dev”之后,因此可以快速转发。请尝试以下命令:

git checkout .
git pullenter code here

希望这能解决你的问题。

其他回答

这个问题是因为您在本地对文件进行了更改,并且Git存储库中存在相同的文件,因此在拉/推之前,您需要隐藏本地更改:

要覆盖单个文件的本地更改,请执行以下操作:

git reset file/to/overwrite
git checkout file/to/overwrite

要覆盖所有本地更改(所有文件中的更改):

git stash
git pull
git stash pop

此外,此问题可能是因为您所在的分支未与主分支合并。

我从主人那里拉车时遇到了这种情况。

我使用Visual Studio处理它的方式;

首先,我对解决方案执行了撤销提交。然后我做了Git拉取过程。

希望这有帮助!

我是git新手,不确定我的解决方案是否是个好主意。

我测试了所有答案,但没有一个对我有用!

但我找到了另一个解决方案:

1. Backup both of local and repository versions of the file.
2. Delete the file from repository.
3. git add .
4. git commit
5. git push

希望这有帮助。

我忽略了我的repo中的一个文件,当我执行git pull upstream master时,我得到了以下错误:

错误:您对以下文件的本地更改将被合并覆盖:myfile.js请在合并之前提交更改或将其隐藏。正在中止

为了解决这个问题,我采取了以下措施

git update-index --no-assume-unchanged myfile.js

然后我做了git状态并得到了这条消息

在分支主机上您的分支落后于“origin/master”4次提交,并且可以被快速转发。(使用“git pull”更新本地分支)未提交的更改:(使用“git add…”更新将提交什么)(使用“gitcheckout--…”放弃工作目录中的更改)修改:myfile.js未向提交添加任何更改(使用“gitadd”和/或“gitcommit-a”)

然后我执行git checkout myfile.js,然后执行git pull upstream master。这次git拉动操作成功。

好了,在其他两个答案的帮助下,我提出了一个直接的解决方案:

git checkout HEAD^ file/to/overwrite
git pull