我们之前使用 SVN,但最近迁移到 Git。
我们有一个用于企业应用程序的整体存储库,并且其中有作为文件夹的子应用程序。
我们为每个子应用程序都有多个 teamcity 项目,并且在我们使用 SVN 之前这一切都运行良好,因为我们可以在存储库 URL 中指定文件夹。但是,Git 不允许在存储库 URL 中包含文件夹,因此每当在一个子应用程序中提交某些内容时,也会构建所有其他子应用程序。
一种方法是将子应用程序作为新的存储库,但这一举措需要时间。还有其他解决办法吗?
最佳答案
您永远不应该将 SVN 与 Git 进行比较。这导致了这种困惑。 SVN 是基于目录的,而 Git 是基于项目的,这意味着无法部分提交/更新项目。尽管如此,还是有一个解决方案,但您认为它很耗时(尽管我真的认为这将是一项很好的投资),即子模块。 您可以阅读更多here ,但其 Gist 如下:
It often happens that while working on one project, you need to use another project from within it. [...] Git addresses this issue using submodules. Submodules allow you to keep a Git repository as a subdirectory of another Git repository. This lets you clone another repository into your project and keep your commits separate.
Here是完整的文档。
我强烈建议您和您的团队永远不要比较 SVN 和 Git。尽管它们有着共同的目标,但它们的用法、原理和工作方式,无论是内部还是外部,都使它们无可比拟,而且弊大于利。
关于git - 一次提交上的多个构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48706599/