如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
当前回答
我忽略了我的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拉动操作成功。
其他回答
我忽略了我的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 reset file/to/overwrite
git checkout file/to/overwrite
git-stash-save——保持索引对我不起作用。
下面的命令按预期工作。
git reset --hard
git pull
如果您不需要,它会覆盖所有本地更改。
好了,在其他两个答案的帮助下,我提出了一个直接的解决方案:
git checkout HEAD^ file/to/overwrite
git pull
实例
[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