Your branch and 'origin/master' have diverged

背景

  • 经理建立仓库, 并第一次提交.
  • tomclone并添加文件. push不上去, 合并(pull)时报历史不一致问题.

问题

git status发现:
Your branch and 'origin/master' have diverged

解决

// tom的命令行
git fetch
git reset --hard origin/master    // 回退到最初状态

git reflog
// 经理的命令行
git reflog

// 可以发现两者现在的版本号一致了. 

《Your branch and 'origin/master' have diverged》

经过上述操作, 应该就是将两个用户的历史记录统一了. 多用户协同开发, 应该保证每个用户的提交记录一样(个人理解), 否则就会出现分支不一致, push不上去的问题.

除了上述解决办法外, 还有简单粗暴的做法, 但是个人不建议.
当提示分歧时会提示, 需要先git pull, 即将远程与本地合并, 但是这样会出现历史记录不一致问题. 这时可以用以下命令, 强行合并(忽略不相关历史).

pull origin master --allow-unrelated-histories

这样, 应该是会丢失当期那分支的历史记录.

    原文作者:Nisus
    原文地址: https://segmentfault.com/a/1190000012259430
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞