1

背景

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

问题

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

解决

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

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

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

clipboard.png

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

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

pull origin master --allow-unrelated-histories

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


Nisus
200 声望6 粉丝

如果生命只有一次, 我愿意尝试各种可能!