95% translated 3.6 Git Branching - Rebasing

基本上完成了，有几处不确定，我会在留言里标出来，请大家讨论、帮助。
译注讨论：

这里对应的 git 命令是 `git rebase <upstream> [<branch>]`：如果提供了 `[<branch>]` 参数，则会先执行 `git checkout <branch>`；如果没有提供，则默认行为是使用当前分支，即 `experiment`。所以这行命令的完整版是 `git rebase master experiment`。

对应的实践开发中的场景是 `experiment` 分支上的这个开发者埋头苦干实现了一些功能，而同时 `master` 分支上的开发也有了进展。当他准备整合时，显然应该是先将 `master` 上的 `commit` 整合到自己的 `experiment` 分支上来试试看，万一有问题，自己的 `experiment` 分支还需要继续改——不仅仅是解决 `conflict`，可能 `implementation` 也要改。

所以这行命令的实践意义是：“我的工作是基于 `C2` 的，但是主线上的开发已经进展到 `C5` 了，假如把我原本*基于* `C2` 的 `commit` 都直接*基于* `C5`，能直接过吗？”

因此命令中的 `master` 有两层含义：1）将 `master` 标识的 `branch` 作为 `target`，于是找到 `experiment` 是从 `master` 上的 `C2` 处分叉出来的，因此 `experiment` 分支上 `C2` 后面的部分都是其独立工作，是需要被 `replay` 的 `commit`；2）把`master` 现在指向的 `C5` 做为 `upstream`，需要 `replay` 的 `commit` 基于这里/从这里开始。