3

我对 Git 很陌生,但它提供的轻量级分支/合并给我留下了深刻的印象。

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

master
1.1.0
1.0.x

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

而且,在这张图片中:

git-scm 分支

我在假装iss53 = 1.0.x这个master = 1.1.0例子。一旦我的1.0.x修补程序分支中的更改被合并回1.1.0功能分支,我可以继续在该1.0.x分支上工作吗?

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

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

4

1 回答 1

1

只要您确定更改是好的并且需要进入该分支,我就会合并它。无需手动操作,更早合并更有可能成功:)

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

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

于 2013-03-06T13:19:30.420 回答