在功能分支上工作

如在另一个示例中所提到的,你应该使用 rebase 而不是 merge。但是,如果你正在与你的团队一起工作,那么你将遇到重写历史记录的问题。因此,处理功能分支 foo 的最佳方法是在本地创建跟踪分支 foo,仅用于拉动其他人的更改并创建另一个分支,例如仅用于推送的 dev_foo。然后使用基本工作流程,就像 foomasterdev_foo 你的主题分支一样。

例如,在提交审核更改之前,你的历史记录可能如下所示

           x < dev_foo
          /
     a---b < foo
    /
---s---t---u < master

推动提交 x 审查并将其提交给 foo 使用

git push origin dev_foo:refs/for/foo/dev_foo