在我们的服务器上,我们为不同的项目提供了不同的git repos,这些项目共享一些组件作为子树。对我来说非常重要的是它们仍然是树,因为我们在整个源代码库中进行积极的开发,因此人们可以拥有最简单方便的工作流程。这也意味着,理想情况下,通过gui工具的简单git pull
是工作方式。而且子树非常非常方便,因为它们通过允许每个人只是克隆repo并查看他们需要的所有内容并最终推送到团队git服务器来隐藏底层复杂性。
(然后git服务器应该推送到最终将在TFS中的组件git repos)
现在我的问题是,如何自动保持组件全部最新?我的想法是在项目仓库上实现一个挂钩,在接受任何推送之前执行git subtree pull
(并且可能抱怨客户端已经过时),并且第二个挂钩会立即执行{git subtree push
1}}推送到达后。
你有更好的想法吗?欢迎提出每一个意见。