执行git reset --hard后仍遇git merge冲突的问题求助
Git Pull持续冲突的可能原因
本地与远程分支提交历史分叉:如果之前你在这台电脑上有过未推送的本地提交,之后另一台电脑推送了新的提交到远程,会导致本地分支和远程分支的提交历史出现分叉。
git reset --hard HEAD只是重置到本地当前的提交节点,并没有解决历史分叉问题,再次pull时Git依然会尝试合并两个分叉的历史,触发冲突。远程分支被强制推送改写:如果有人(包括你自己在其他设备)对远程分支执行过
git push --force,改写了远程的提交历史,这台电脑本地的提交记录会和远程的新历史不匹配。此时git reset --hard HEAD只能重置到本地旧的提交节点,无法同步远程被改写后的历史,pull时自然会冲突。本地分支跟踪关系异常:检查本地分支是否正确关联了目标远程分支。可以执行
git branch -vv查看跟踪状态,如果本地分支没有关联origin/你的分支名,或者关联了错误的远程分支,git pull时会拉取错误的内容,导致冲突。Git缓存或特殊文件状态问题:虽然概率较低,但如果某些文件被标记为
assume-unchanged(可通过git ls-files -v | grep '^h'查看),git reset --hard可能无法正常重置这些文件的状态,导致pull时依然冲突。
内容的提问来源于stack exchange,提问作者Engineer999
相关产品推荐
相关产品推荐

