我试图从我的GitHub回购代码拉到我的服务器上,但拉一直失败,因为合并冲突。我不想保留自上次拉取以来本地服务器上可能发生的任何更改。
所以有没有办法我可以强迫Git覆盖任何版本在GitHub,而不是打扰我的冲突?
我试图从我的GitHub回购代码拉到我的服务器上,但拉一直失败,因为合并冲突。我不想保留自上次拉取以来本地服务器上可能发生的任何更改。
所以有没有办法我可以强迫Git覆盖任何版本在GitHub,而不是打扰我的冲突?
你可以使用nvm指向的重复链接的答案。
或者您可以通过使用它们的更改来解决冲突(但如果它们与远程版本不冲突,则可能保留一些更改):
git pull -s recursive -X theirs
如果你真的想要丢弃你在本地所做的提交,也就是说,永远不要再让它们出现在历史记录中,你不需要询问如何拉取——拉取意味着合并,而你不需要合并。你所需要做的就是:
# fetch from the default remote, origin
git fetch
# reset your current branch (master) to origin's master
git reset --hard origin/master
我个人建议首先在您当前的HEAD上创建一个备份分支,这样如果您意识到这是一个坏主意,也不会忘记它。
另一方面,如果你想保留这些提交,让它看起来就像你与origin合并了一样,并且导致合并只保留了来自origin的版本,你可以使用ours merge策略:
# 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