git分支实践

时间:2009-06-24 12:55:11

标签: git version-control branch

我正在使用Git进行Visual Studio解决方案。这是溶胶的结构。

myProject.Domain,myProject.Common,myProject.Core,webClientForCustomer1,webClientForCustomer2

顾名思义,webClient项目都依赖于Domain,Common和Core项目。我为每个客户创建一个新的Web客户端应用程序并进行UI自定义。我向其他三个项目添加了新功能,因此必须使用新功能更新Web客户端项目。

您有什么建议将我的存储库建模到分支机构?

3 个答案:

答案 0 :(得分:3)

  

“将我的存储库建模成分支?”

这听起来危险地接近分支的“Subversion廉价副本”代表。 Submodules 更适合识别不同的文件组。

分支是,特别是在Git或其他VCS中,“branch”是一等公民,是将您的工作与其他并行工作隔离开的方法。
创建分支不是你要做的,因为你有myProject.xxx目录,但是因为你想要将开发工作与其他活动隔离开来(比如维护当前的应用程序,进行修复,进行重构,以及等等)

另外,使用Git,还有发布(对其他Git存储库)的概念。
Jakub Narębski在该问题上有excellent post

答案 1 :(得分:0)

我不确定分支是你想要的。我会考虑为您的框架提供一个repo,并为您的客户提供一个repo。然后我使用Git Submodules将您的框架链接到客户端项目,就像它真的住在那里一样。查看Git User's Manual chapter 8了解更多

答案 2 :(得分:0)

您是否考虑过使用submodules而不是分支来进行域名,公共和核心项目?

来自git submodules man page

  

子模块允许外部存储库   嵌入专用的   源树的子目录,   总是指着一个特定的提交。