如何忽略关于我的本地更改的'git pull'上的错误将被合并覆盖?
如何在Git pull上忽略以下错误消息?
合并将覆盖对以下文件的本地更改
如果我想覆盖它们怎么办?
我尝试过像git pull -f这样的东西,但没有任何效果。
要清楚,我只想覆盖特定的变化,而不是一切。
mae asked 2019-01-04T19:44:47Z
25个解决方案
327 votes
如果要从工作副本中删除所有本地更改,只需将其存储:
git stash save --keep-index
如果你不再需要它们了,你现在可以放下那个藏匿处:
git stash drop
如果您只想覆盖本地更改的特定部分,则有两种可能性:
提交您不想覆盖的所有内容,并使用上面的方法来完成剩下的工作。
使用git checkout path/to/file/to/revert进行要覆盖的更改。 确保该文件未通过git reset HEAD path/to/file/to/revert暂存。
Daniel Hilgarth answered 2019-01-04T19:45:22Z
249 votes
好的,在其他两个答案的帮助下,我想出了一个直接的解决方案:
git checkout HEAD^ file/to/overwrite
git pull
mae answered 2019-01-04T19:45:44Z
136 votes
这对我来说可以覆盖所有本地更改,并且不需要身份:
git reset --hard
git pull
kravits88 answered 2019-01-04T19:46:06Z
68 votes
这是一个抛弃分阶段变化的解决方案:
git reset file/to/overwrite
git checkout file/to/overwrite
Aftershock answered 2019-01-04T19:46:28Z
50 votes
您可以在执行合并之前提交更改,也可以存储它们:
git stash pop
git stash pop
git stash pop
Suneel Kumar answered 2019-01-04T19:47:00Z
32 votes
我解决这个问题的解决方案是:
git checkout --
然后我可以使用以下方法覆盖该文件:
git pull
pabloasc answered 2019-01-04T19:47:28Z
11 votes</