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

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

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

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

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


当前回答

如果您想从工作副本中删除所有本地更改(包括未被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暂存。

其他回答

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

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

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

希望这有帮助!

您可以在执行合并之前提交更改,也可以将其隐藏:

git存储git合并原始/主吉特藏弹

在最近的Git中,您可以添加-r/--rebase on pull命令,以在提取后将当前分支重新置于上游分支之上。警告应该会消失,但有可能会出现一些需要解决的冲突。


或者,您可以强制检查不同的分支,然后再次返回主分支,例如:

git checkout origin/master -f
git checkout master -f

然后像往常一样再次拉动:

git pull origin master

使用此方法可以节省时间,避免隐藏(git stash)和潜在的权限问题、重新设置文件(git reset HEAD--hard)、删除文件(gitclean-fd)等。

试试这个

git fetch --all 

git reset --hard origin/master

git pull origin master

对我来说,用力拉

这适用于我覆盖所有本地更改,并且不需要标识:

git reset --hard
git pull