merging
掌握进入主要和主要 主 em>在每种可能的情况下都有相同的最终结果,或者我应该在特定的环境中支持一个或另一个,为什么?我知道合并会为更好的历史理解创造额外的提交,但我对操作的实际结果更感兴趣并且它有可能成功。那么是否存在实际差异,或者我可以根据惯例选择任何一种方法(甚至可以选择使用它们)?
另外,我应该多久与rebasing
同步feature branch
?每次返回开发特定功能时master
是一个好习惯,还是应该尽可能长时间地将该功能与架构的其余部分隔离开来?
当多个功能高度相互依赖时,如何确定情况?功能是应该作为单个功能分支开发,还是作为一个独特的功能分支合并到公共功能分支?可以说,在merge/rebase
中,许多配置和层彼此依赖。保持整体和同步的常见工作流程是什么?
答案 0 :(得分:1)
合并和变基都以非常不同的方式解决了同样的问题。与变基不同,合并是非破坏性的。但是,只要您遵循重新定位的黄金法则,一切都会正常工作,您可以享受整洁的提交历史。规则是不要在公共分支机构使用变基。"
另外,我应该多久需要与master分享功能分支?
这主要是品味问题。如Pro Git中所述,可以选择不同的分支工作流程。
答案 1 :(得分:1)
重新绑定和合并在所有情况下并不相同,因为当你在master上进行rebase时,你实际上是在master上进行新的提交,它将具有不同的id和内容。这就是为什么不改变公共分支机构的重要性。但是,变基可以给你一个很好的清洁历史。
至于问题的分支部分:看起来您正在寻找的是分支模型。最流行的分支模型之一是git flow,它使用合并模型。
http://nvie.com/posts/a-successful-git-branching-model/
git flow模型的本质是使用master,release,develop和features分支(以及其他分支)来组织你的代码所处的状态。使用这个模型,应该很容易知道何时合并,因为它将在某些阶段,例如:功能已完成或您将要执行下一个版本。