我希望我的本地分支与远程分支相同。当我从远程分支中拉取时,我遇到了冲突,在这种情况下,我不想解决它们而只想从远程分支获取最新版本。
我在本地分支中使用硬拉:
git reset -- hard
git pull
Run Code Online (Sandbox Code Playgroud)
然而,当拉我得到错误:
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)
为什么?如何通过覆盖拉动远程分支?我想到了一种解决方法,即删除我的本地分支并创建一个新分支然后拉取,但是有更好的方法吗?
尝试git fetch使(本地)远程跟踪分支与远程版本保持同步,然后将本地分支硬重置为:
# from local
git fetch origin
git reset --hard origin/local
Run Code Online (Sandbox Code Playgroud)
至于为什么即使在硬重置后仍然出现合并冲突,这可以通过一些事情来解释。一般的解释是您的本地分支具有远程版本中不存在的提交。在这种情况下,Git 不能简单地快进您的本地分支,而必须求助于进行合并,这可能会导致冲突。