如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
当前回答
出现错误“您对以下文件的本地更改将被合并覆盖”,因为您在本地回购中有一些尚未提交的更改,因此在从远程回购中提取之前,只需提交本地回购中的更改。
假设您的远程回购有一些分支xyz并且您希望将远程repo xyz分支合并到(复制到)本地repo xyx分支,
{
git checkout xyz //check out to the respective branch in local repo
git commit -m "commiting message" //commit changes if any, in local repo branch xyz
git pull //it pulls remote xyz branch into local xyz branch
}
其他回答
这里有太多的答案,我不想再添加一个,但以上所有的答案都比它们需要的要笨拙。我必须一直这样做,因为Git似乎变得困惑,并表示我修改了未更改的文件(无法恢复,因为它们没有更改,但我无法拉动,因为它们应该已更改)。到目前为止,我发现最简单、最快的是:
git stash
git stash drop
git pull
注意:本地更改将丢失
如果该错误是由于行尾,
git add
git checkout mybranch
将起作用。我真的不知道为什么它会起作用。
我忽略了我的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-stash-save——保持索引对我不起作用。
下面的命令按预期工作。
git reset --hard
git pull
如果您不需要,它会覆盖所有本地更改。
这个问题是因为您在本地对文件进行了更改,并且Git存储库中存在相同的文件,因此在拉/推之前,您需要隐藏本地更改:
要覆盖单个文件的本地更改,请执行以下操作:
git reset file/to/overwrite
git checkout file/to/overwrite
要覆盖所有本地更改(所有文件中的更改):
git stash
git pull
git stash pop
此外,此问题可能是因为您所在的分支未与主分支合并。