如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
如何忽略Git pull上的以下错误消息?
您对以下文件的本地更改将被合并覆盖
如果我想覆盖它们怎么办?
我试过像git pull-f这样的方法,但没有任何效果。
要明确的是,我只想覆盖特定的更改,而不是所有更改。
当前回答
您可以在执行合并之前提交更改,也可以将其隐藏:
git存储git合并原始/主吉特藏弹
其他回答
git pull --rebase --autostash
-r、 --rebase[=false|true|合并|保留|交互式]如果为true,则在提取后的上游分支。如果有与上游相对应的远程跟踪分支
--autostash,--无autostash在开始重新基础之前,如果需要,并在完成后应用隐藏条目
我不知道为什么这个问题还没有答案,但正如你们所看到的,解决方法很简单。这里的所有答案都是相同的:删除/保存本地更改并应用到上游,然后(如果保存)在顶部应用本地更改。
git pull--rebase--autostash一步一步地做什么:
1. your local changes saved by `--autostash`
2. your local commits saved by `--rebase`
3. commits from upstream applied to your branch
4. your local commits are restored on top of upstream
5. your local changes are restored to working directory
我的案子(可能也是你的):
我有本地更改(工作目录中的更改):
当我尝试进行远程更改时,我收到错误:
这些更改与本地更改不相交:
因此,当我拉动--rebase--autostash时,保存并应用的本地更改不会自动出现任何问题
现在我的本地变化有点低:
这适用于我覆盖所有本地更改,并且不需要标识:
git reset --hard
git pull
有时,这些都不起作用。令人恼火的是,由于LF的事情,我认为,将工作的是删除文件,然后拉。我并不建议使用此解决方案,但如果文件不存在,git不会毫无用处地通知您,您的更改(甚至可能不是更改)将被覆盖,并允许您继续。
使用风险自负。
这里有一个解决方案,可以丢弃阶段性更改:
git reset file/to/overwrite
git checkout file/to/overwrite
实例
[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