使用 rebase 的一条黄金法则就是不要在公共分支上做 rebase 操作, 为什么呢?...这样的操作在公共分支上是非常危险的, 比如原本 master 上的 A commit 很多人基于这个 commit 开展了很多工作, 然后你在 master 分支上做了 rebase, A 就变成了 A...这样 git 历史其实已经混乱了, 而且后续
别人基于这样的历史进行开发并不能担保不会出现问题, 因为本身历史就是乱套的.所以这就是为什么不要在公共分支上做 rebase 操作...., 意思就是将你的 commit 移到远程的同事已经提交的 commit 后面, 对没错, 我说的就是使用 git fetch + git rebase 代替 git fetch + git merge..., 但是工作区不回退, mixed 是默认参数.
git reflog
git reflog 堪称 git 协同工作的最后一根救命稻草. git reflog 是保存在本地的, 记录各个分支 HEAD