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

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

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

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

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


当前回答

如果要在服务器上保留生产更改,只需合并到新的配置项中即可。处理方法如下:

git stash
git pull
git stash pop

也许你没有执行所有操作。你可以知道下一步可以做什么。

其他回答

如果要放弃对一个文件的本地更改,可以执行以下操作:

git checkout -- <file>

然后,您可以使用最新版本覆盖文件,只需执行以下操作:

git pull

解决此问题的最佳方法是:

git checkout -- <path/file_name>

之后,您可以通过以下方式覆盖文件:

git pull origin master

git reset—hard&&git clean-df

警告:这将重置和删除所有未跟踪的文件。

这对我来说很有用,我可以放弃实时远程服务器上的更改,并从源代码控制GitHub中提取:

git reset --hard
git pull origin master

如果您想从工作副本中删除所有本地更改(包括未被git跟踪的文件),只需将其隐藏:

git stash push --include-untracked

如果你不再需要它们,你现在可以放下这些东西:

git stash drop

如果您不想隐藏已经暂存的更改(例如使用gitadd),那么添加选项--keep-index。然而,请注意,如果这些阶段性的更改与上游的更改发生冲突,这仍然会阻止合并。


如果您只想覆盖本地更改的特定部分,有两种可能:

提交您不想覆盖的所有内容,其余部分使用上面的方法。对于要覆盖的更改,请使用git checkout path/to/file/to/revert。确保文件未通过git reset HEAD path/to/file/to/revert暂存。