修复Git divergent branches错误 让本地分支完全匹配远程状态
分支分叉报错快速修复方案
执行git pull时出现如下提示,是因为本地分支和远程对应分支存在分叉提交,默认pull策略未指定合并方式:
hint: You have divergent branches and need to specify how to reconcile them.
如果不需要保留任何本地修改、不需要执行merge或rebase操作,只想让本地分支和远程对应分支状态完全一致,不需要删除整个仓库重新克隆,按顺序执行以下命令即可:
# 拉取远程仓库最新的分支提交记录,不改动本地工作区 git fetch origin # 将本地当前分支强制重置为远程对应分支的最新状态,所有本地修改、本地提交都会被清除 git reset --hard origin/<替换为你要同步的目标分支名> # 清理本地未被Git追踪的冗余文件、目录,保证文件完全对齐 git clean -fd
- 效果说明:
- 执行完成后本地分支状态和新克隆仓库切到对应分支的状态完全一致,不会产生任何merge提交、也不会执行rebase操作
- 相比删库重克隆,该方案仅同步远程增量内容,不需要重新下载全量仓库数据,耗时更短
- 注意:执行前确认本地所有改动无保留价值,
reset --hard和clean -fd操作会不可逆清除本地未同步到远程的所有内容
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

