Git将修补程序分支合并到功能分支,然后删除修补程序分支?

时间:2013-03-06 12:59:11

标签: git version-control merge branch

我对Git很陌生,但它对它提供的轻量分支/合并印象非常深刻。

我的存储库中有三个分支:

master
1.1.0
1.0.x

我已经在1.0.x分支中快速修复了,但我想知道是否应立即将这些更改合并回1.1.0?或者是否建议等到1.1.0分支准备好作为次要版本发布以将修补程序合并回来?

而且,在这张图片中:

git-scm branching

我假装iss53 = 1.0.xmaster = 1.1.0这个例子。将1.0.x修补程序分支的更改合并回1.1.0功能分支后,是否可以继续处理1.0.x分支?

如果我在1.0.x分支上工作时提交更改,在上面的合并之后,它会从假设的C7提交中创建一个新的水平链接(以可视方式描绘)单亲C5,还是有两位父母,C5C6

git-book(Git - Basic Branching and Merging)的这一部分也提到在完成后删除分支,但遗憾的是之后没有显示图形的样子。当然提交仍然存在 - 标签被删除了吗? (上例中的iss53。)删除该分支后,如果发现问题53未完全修复,可以继续C5工作,创建另一个iss53分支,或者你必须给它一个不同的名字,比如iss53_2

1 个答案:

答案 0 :(得分:1)

一旦你确定改变是好的并且需要进入那个分支,我就会合并它。如果没有人工努力,之前的合并更有可能成功:)

如果删除分支,树将保持完全相同,只有分支的标签消失。如果您的提交不再可以从任何标签访问,那么它们最终可能会被垃圾收集删除,但它会使它们保持几周,而这种情况并非如此,因为所有提交仍然可以在某个分支中访问。 / p>

您可以轻松地再次创建分支,只需执行“git checkout -b iss53 xxxxxx”,其中xxxxx是您希望以其为基础的提交的提交十六进制代码。 git reflog对于帮助查找所需的提交非常有用,因为它显示了所有最近的历史记录。