首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git存储库设置

Git存储库设置
EN

Software Engineering用户
提问于 2014-02-06 10:44:12
回答 2查看 138关注 0票数 2

我要把我公司的源代码控制从TFS移到GIT。我们目前将TFS定义为。

  • 项目收集/
    • /客户端A
      • /产品A
      • /产品B
      • /产品C

代码语言:javascript
运行
复制
- / Client B 
    - / Product D
    - / Product E
    - / Product F

在Git中做这件事的最好方法是什么?我想过以下几点:

  • 存储库(客户端A)
    • 分公司(产品A)
    • 分部(产品B)
    • 分公司(产品C)

  • 存储库(客户端B)
    • 分公司(产品D)
    • 分公司(产品E)
    • 分公司(产品F)

你认为什么是最好的方法,因为设计略有不同?

EN

回答 2

Software Engineering用户

发布于 2014-02-06 11:26:08

您应该为每个独立的项目创建一个新的回购。为什么?

  • 项目D的工作人员不必下载E和F的所有历史记录。
  • Git repos的初始化成本很低,所以您可以使用任意数量的。
  • 当多个项目被表示为回购中的分支时,同时使用它们是很痛苦的:当从A切换到B以快速查找某些内容时,您必须保存未提交的更改,然后检查另一个分支(这将重写完整的目录结构,对于大型项目来说代价高昂),然后再次检查原始分支并应用您隐藏的更改。通常情况下,如果不多次克隆回购,就不可能同时查看项目。
  • 历史会一团糟。当使用Git时,有时会处理多个特性分支,这些特性分支会在一段时间后被合并回。但是,当每个(主)分支都有一个项目时,您将拥有多个并行但绝对不连接的分支。他们什么都不分享,他们为什么要分享回购?

如果一个项目依赖于另一个项目,您可以使用git子模块连接repos,而不必将所有内容都放在一个回购中。

票数 12
EN

Software Engineering用户

发布于 2015-07-16 08:39:15

在我们公司,我们从一个大型存储库开发所有源代码,每个客户端/产品都有各自的文件夹。虽然每个客户都收到自己的个性化软件包,但我们所有的产品都有我们的专业知识,我们重复使用我们的大部分代码。这种重用是通过共享库实现的。在同一个存储库中拥有所有客户端项目可以满足所有必要的库依赖。

即使在这个时候,您的所有软件产品都是不同的、不重叠的,代码重用和共享库也可能在将来出现。这个扩展在一个存储库中将非常容易,但更复杂的是多个。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/227911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档