背景
- 经理建立仓库, 并第一次提交.
- tom
clone
并添加文件.push
不上去, 合并(pull
)时报历史不一致问题.
问题
git status
发现: Your branch and 'origin/master' have diverged
解决
- // tom的命令行
- git fetch
- git reset --hard origin/master // 回退到最初状态
-
- git reflog
- // 经理的命令行
- git reflog
-
- // 可以发现两者现在的版本号一致了.
经过上述操作, 应该就是将两个用户的历史记录统一了. 多用户协同开发, 应该保证每个用户的提交记录一样(个人理解), 否则就会出现分支不一致, push
不上去的问题.
除了上述解决办法外, 还有简单粗暴的做法, 但是个人不建议.
当提示分歧时会提示, 需要先git pull
, 即将远程与本地合并, 但是这样会出现历史记录不一致问题. 这时可以用以下命令, 强行合并(忽略不相关历史).
pull origin master --allow-unrelated-histories
这样, 应该是会丢失当期那分支的历史记录.