【问题标题】:git branching practicesgit 分支实践
【发布时间】:2009-06-24 12:55:10
【问题描述】:

我将 Git 用于 Visual Studio 解决方案。这是溶胶的结构。

myProject.Domain、myProject.Common、myProject.Core、webClientForCustomer1、webClientForCustomer2

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

对于将我的存储库建模为分支,您有什么建议?

【问题讨论】:

    标签: git version-control branch


    【解决方案1】:

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

    这听起来非常接近分支的“颠覆廉价副本”表示。 Submodules 更适合识别不同的文件组。

    一个分支,尤其是在 Git 或其他“branch”是一等公民的 VCS 中,是一种将您的工作与其他并行工作隔离的方法。
    创建分支不是因为您有 myProject.xxx 目录,而是因为您希望将 开发工作 与其他活动(例如维护当前应用程序、进行修复、进行重构和等等)

    另外,对于 Git,还有 publication 的概念(对其他 Git 存储库)。
    Jakub Narębski 在该问题上有一个 excellent post

    【讨论】:

    • 我不认为只有我一个人不喜欢 SVN 做事的方式,但如果你已经使用了一段时间,git 也会需要一些时间来适应,但非常值得当然!
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您是否考虑过为您的域、通用和核心项目使用 submodules 而不是分支?

      来自 git submodules man page:

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

      【讨论】:

        猜你喜欢
        • 2011-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-27
        • 2020-03-16
        • 1970-01-01
        • 1970-01-01
        • 2020-05-04
        相关资源
        最近更新 更多