Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git最佳实践建议_Git - Fatal编程技术网

git最佳实践建议

git最佳实践建议,git,Git,我正在考虑建立git存储库,但我来自SVN的背景 以下是我想要的: 产品存储库—这些存储库捕获独立的单个产品(例如应用程序、库) 应用程序A 应用程序B 图书馆C 项目存储库—这些存储库捕获产品的聚合,以形成针对特定客户的解决方案 Project X存储库 Projecty存储库 Projectz存储库 每个项目将由不同的产品组合组成。例如 ProjectX由应用程序A、应用程序B和一些特定于项目的代码组成。项目Y是应用程序B、应用程序C和应用程序D的组合,带有特定于项目的代码和设置

我正在考虑建立git存储库,但我来自SVN的背景

以下是我想要的:

产品存储库—这些存储库捕获独立的单个产品(例如应用程序、库)

  • 应用程序A
  • 应用程序B
  • 图书馆C
项目存储库—这些存储库捕获产品的聚合,以形成针对特定客户的解决方案

  • Project X存储库
  • Projecty存储库
  • Projectz存储库
每个项目将由不同的产品组合组成。例如 ProjectX由应用程序A、应用程序B和一些特定于项目的代码组成。项目Y是应用程序B、应用程序C和应用程序D的组合,带有特定于项目的代码和设置。你明白了

在SVN中,项目存储库将使用SVN外部来包含产品的一个版本


我可以用上面详述的存储库概念来实现这一点吗?或者,考虑到git的强大功能,我应该考虑一种完全不同的技术吗?

在我的公司,我们遇到了同样的问题。我们解决这个问题的方法是重新思考存储库的结构和使用方式。特别是:

  • 通用代码变成了共享库
  • 我们开始使用一个包管理系统(rpm),它允许引入依赖项。项目X有自己的文件,但也依赖于包A和库C

考虑使用Git子模块。详情请参阅。从书中引用:

子模块允许您将一个Git存储库保留为另一个Git存储库的子目录。这使您可以将另一个存储库克隆到项目中,并将提交分开


这当然是一个有用的问题(并且说得很好),但我确实认为这可能会重复它。你也可以找到有用的可能的副本