从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