01、尽量只在未推送到公共仓库的提交上执行变基。
02、变基风险
a)远程仓库 & 本地开发
b)远程有新的推送 & 本地更新合并
c)远程通过变基,放弃C6提交并通过git push --force推送
d)本地更新&合并
尴尬1:有2个提交的作者、日期、日志完全一样(C4和C4')
尴尬2:将公共仓库中丢弃的C6提交找回来了
d')通过变基解决尴尬
git处理步骤
1、检查哪些提交是我们的分支上独有的(C2,C3,C4,C6,C7)
2、检查其中哪些提交不是合并操作的结果(C2,C3,C4)
3、检查哪些提交在对方覆盖更新时并没有被纳入目标分支(只有 C2 和 C3,因为 C4 其实就是 C4')
4、把查到的这些提交应用在 teamone/master 上面
e)在步骤d)中,若用git pull --rebase代替git pull,则不会有问题
$ git pull --rebase 等价与 $ git fetch; $ git rebase teamone/master