如何忽略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)等。

其他回答

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

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

git-stash-save——保持索引对我不起作用。

下面的命令按预期工作。

git reset --hard
git pull

如果您不需要,它会覆盖所有本地更改。

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

git reset --hard
git pull

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

git checkout HEAD^ file/to/overwrite
git pull

有时,这些都不起作用。令人恼火的是,由于LF的事情,我认为,将工作的是删除文件,然后拉。我并不建议使用此解决方案,但如果文件不存在,git不会毫无用处地通知您,您的更改(甚至可能不是更改)将被覆盖,并允许您继续。

使用风险自负。