如何让我当地的分支机构保持最新状态

时间:2011-08-24 09:01:44

标签: git

我的存储库中有几个分支,我发现随着时间的推移,让它们保持最新状态变得越来越困难。我总是可以确定主人是最新的,因为它很容易记住,我想这是我的SVN心态仍然挥之不去。

    • bugfix1
    • bugfix2
    • newfeature
      • 实验

我的问题是这样的。我在bugfix2分支中进行了更改,我在完成提交后将更改合并到master中,但之后我还有其他几个分支已过时。我必须手动将bugfix2合并到每个其他分支。随着我的分支列表的增长,我认为执行所有这些合并操作是不现实的。

是否有针对此的命令或我的工作流程是否错误?

3 个答案:

答案 0 :(得分:2)

一般工作流程是从最具体的分支合并到不太具体的分支 但是对于a bug needed to be reported to all other branches,与其他分支的简单合并就足够了,可以编写脚本(甚至别名):

for i in $branches; do
   git checkout $i
   git merge bugfix2
done

答案 1 :(得分:1)

我的建议是将您需要的任何内容合并到您当前正在处理的任何分支中,并且不要担心在下次处理它们之前保持其余部分是最新的。我在我公司的集中式VCS上本地使用git的原因之一是它允许分支有点过时。难以重现的错误可以针对报告的确切版本进行处理。可以调试新功能,而不会想知道是否是您的更改导致问题或您刚刚下拉的更新以推送单独的修复程序。无论如何,不​​要让你的分支与master分开太远,但不要虔诚地保持它们总是最新的“只是因为”。在个人分支的最佳时间更新它们。

答案 2 :(得分:-1)

我建议的工作流程是在master完成后重新设置master上的bugfix分支。因此,您的历史记录仍然很干净,并且不包含那么多的合并提交。