如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
当前回答
实例
[root@localhost www]# git pull
Username for 'http://159.65.151.11': amol
Password for 'http://amol@159.65.151.11':
remote: Counting objects: 34, done.
remote: Compressing objects: 100% (34/34), done.
remote: Total 34 (delta 13), reused 0 (delta 0)
Unpacking objects: 100% (34/34), done.
From http://159.65.151.11/OpenCC
f793c8e..b8fe60c v1.18.0_24Feb2022 -> origin/_v1.18.0_24Feb2022
error: Your local changes to the following files would be overwritten by merge:
cc/routes/web.php
Please, commit your changes or stash them before you can merge.
Aborting
解决方案(忽略本地文件中已提交的更改)
git checkout HEAD^ cc/routes/web.php
git pull
其他回答
检查您可以覆盖并丢失本地更改的文件,然后
git checkout --ours ${filePath}
git merge upstream/master
对于Pycharm,您可以执行Git-->Revert,然后执行pull。
只需提交本地更改并合并提交-a
这个问题是因为您在本地对文件进行了更改,并且Git存储库中存在相同的文件,因此在拉/推之前,您需要隐藏本地更改:
要覆盖单个文件的本地更改,请执行以下操作:
git reset file/to/overwrite
git checkout file/to/overwrite
要覆盖所有本地更改(所有文件中的更改):
git stash
git pull
git stash pop
此外,此问题可能是因为您所在的分支未与主分支合并。
好了,在其他两个答案的帮助下,我提出了一个直接的解决方案:
git checkout HEAD^ file/to/overwrite
git pull