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

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

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

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

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


当前回答

在最近的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)等。

其他回答

如果您的存储库包含一些从master中删除的文件:

切换到主分支git获取原点git reset—硬原点/主git结帐-b newbranch

在最近的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存储库中存在相同的文件,因此在拉/推之前,您需要隐藏本地更改:

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

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

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

git stash
git pull
git stash pop

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

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

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

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

希望这有帮助!

我的解决方案是从IDE外部删除将被覆盖的文件,然后进行拉取。

(您始终可以备份和手动合并未跟踪的数据)