我所在的软件团队由 4-5 名开发人员组成,他们从事一个 TFS 项目。我们正在考虑将整个代码库移至 GIT。该代码库由约 50 个 Visual Studio (2013) 解决方案组成,分为约 300 个项目。引用项目中另一个程序集的首选过程是将项目添加到解决方案中,依此类推。我想这被认为有点混乱,但它有它的好处:
1:由于源代码已更新到最新,因此项目构建时将始终更新为最新。
2:创建发布分支时,会存储源状态的完整图片,并且在需要时可以轻松地重现发布。
在考虑迁移到 GIT 时,最简单的方法是简单地移动所有解决方案和项目,就像移动到单个 GIT 存储库一样。这引出了我的第一个问题。
在单个 GIT 存储库中分为 300 个项目的 50 个左右解决方案的集合会很难使用吗?我担心无法了解每个开发人员每天所做的更改。
另一种方法(我认为这是正确的方法)是摆脱共享项目制度,并将代码库划分为具有自己的 GIT 存储库的逻辑上划分的部分。 (我猜这会给我们留下大约 10-20 个存储库)。为了解决这个问题所引用的项目,我们正在考虑使用本地 nuget-server。
这引出了我的第二个问题(也是最后一个)。
看看上面提到的福利。这些功能还能保持吗?我们是否可以“自动更新”工作分支中的 nuget 引用,但将它们冻结到发布分支上的特定版本?
我担心无法了解每个开发人员每天所做的更改。
不,您不会失去这种概览,并且可以轻松衡量一位协作者的贡献(例如,在这个答案中 https://stackoverflow.com/a/4593065/6309)
这些功能还能保持吗?
是的:这 10-20 个项目将在一个父存储库中重新组合,因为子模块 http://git-scm.com/book/ch6-6.html.
并且您可以轻松地配置子模块以遵循分支 https://stackoverflow.com/a/20016830/6309,喜欢它的master
branch.
有关该配置的更多信息,请参见“Git 子模块:指定分支/标签 https://stackoverflow.com/a/18799234/6309", and git submodule http://git-scm.com/docs/git-submodule.
正如所提到的杰西豪温 https://stackoverflow.com/users/736079/jessehouwing在评论中,Visual Studio 2013 及其原生 Git 支持 http://msdn.microsoft.com/en-us/library/hh850437.aspx尚不包括子模块。这是虽然要求很高 http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/3606383-add-submodule-support-in-visual-studio-git-extensi.
Git 命令行仍然可用于使用子模块的更新/冻结步骤。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)