从Git远程服务器拉取时,使用远程更改解决冲突
我试图从我的GitHub回购代码到我的服务器上,但由于合并冲突拉保持失败。 我不想保留自上次拉取以来在本地服务器上可能发生的任何更改。
那么有什么方法可以强制Git用GitHub中的任何版本来覆盖,而不是打扰我的冲突?
如果你真的想丢弃你在本地提交的提交内容,也就是说从来没有把它们放在历史logging中,那么你就不会问如何拉取合并,而不需要合并。 所有你需要做的是这样的:
# fetch from the default remote, origin git fetch # reset your current branch (master) to origin's master git reset --hard origin/master
我个人build议首先在当前的HEAD上创build一个备份分支,这样如果你意识到这是一个糟糕的主意,那么你还没有失去它的踪迹。
另一方面,如果您想保留这些提交,并使其看起来像您与原始合并,并使合并保留从原来的版本,您可以使用ours
合并策略:
# fetch from the default remote, origin git fetch # create a branch at your current master git branch old-master # reset to origin's master git reset --hard origin/master # merge your old master, keeping "our" (origin/master's) content git merge -s ours old-master
您可以使用nvm指向的重复链接中的答案。
或者,您可以通过使用其更改来解决冲突(但是如果它们不与远程版本冲突,则可能会保留一些更改):
git pull -s recursive -X theirs