我找不到任何使用git管理版本的"正确"方法.说,我有master,release-1,release-2和release-3分支.版本1已经发布,我只对其进行了错误修正和发布版本标记.第2版将很快发布,我主要在这个分支上发展,而在3年我开发了将来需要的东西.
当我在release-2上添加一些功能时,它也应该转到3,但不是1,我应该:
当我需要在所有版本中进行更改时,我是否应该在master上进行更改并将其挑选到所有分支中?
我是否应该掌握最新的(第3版分支)或者第3版的开发人员,并在我需要发布4分支之前合并到主服务器?
当我在发行版1或版本2上修复时,我应该合并或者选择它来掌握或者说它?
我不太确定我什么时候应该挑选,什么时候应该合并,如果分支之间的代码流正确的话.
Jak*_*ski 17
请参阅Junio C Hamano(git maintainer)博客上的以下帖子:
另请参阅gitworkflows手册页.
你问的是一个典型的合并工作流问题:从哪里合并到哪里.
但是你还需要记住,在DVCS中,合并也会受到发布注意事项的影响(那些分支被推送到本地存储库或公共存储库)
默认情况下,当有人克隆您的仓库时,"master"分支是一个可见的分支,这意味着它应该引用您认为对该用户/开发人员最有用的内容.(因为默认情况下不会在本地引用其他分支)
1 /当我在release-2上添加一些功能时,它也应该转到3,但不是1
在对r2进行了多次提交以实现必要的演变之后,您确实可以将r2合并到master.这样,在master中只能看到有限数量的提交,从而避免"提交混乱".
但是对于r3,如果推送和发布r3,你可以从r2中挑选你需要的东西.否则,你可以在r2上修改r3.请参阅" git workflow and rebase vs merge "问题
2 /当我需要在所有版本中进行更改时,我是否应该在master上进行更改并将其挑选到所有分支中?
你应该在r2上做,然后在master和r1和r3上合并.这样,只有一个提交添加到这些分支.
3 /我是否应该让最新的(最新版本3)分支机构更新,或者更确切地说是第3版的开发人员,并在我需要发布4分支之前合并到主服务器?
这取决于你希望你的其他同事在克隆回购时看到什么.
但从1 /,我收集主人代表r2(当前发展)而不是r3(未来,长期重构)
4 /当我修复发行版1或发行版2时,我应该合并或者选择它来掌握或者说它?