我正在尝试从我的 GitHub 存储库中将代码提取到我的服务器上,但由于合并冲突,拉取一直失败。自上次拉取以来,我不想保留本地服务器上可能发生的任何更改。
那么有没有一种方法可以强制 Git 用 GitHub 中的任何版本覆盖,而不是因为冲突而困扰我?
如果您真的想丢弃您在本地所做的 提交 ,即不再将它们放在历史记录中,那么您不是在问如何拉 - 拉意味着合并,并且您不需要合并。您需要做的就是:
# fetch from the default remote, origin git fetch # reset your current branch (master) to origin's master git reset --hard origin/master
我个人建议先在你当前的 HEAD 创建一个备份分支,这样如果你意识到这是一个坏主意,你就不会忘记它。
另一方面,如果您想保留这些提交并使其看起来好像与原始合并,并导致合并仅保留原始版本,您可以使用ours合并策略:
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