3

我有一个由大约 20 名开发人员组成的团队,他们一起在一个项目上工作。这个项目有几个组件,涉及硬件、固件、软件,甚至网络功能。我们想使用 TFS 2013 跟踪整个项目的进度。但是,我们无法弄清楚如何使用 GIT 存储库管理事物的源代码控制方面。硬件团队将需要能够锁定他们的代码来处理它,因为他们正在处理用于布局电路和所有其他硬件的二进制文件。我们目前正在考虑将事物的硬件部分作为自己的项目,而将事物的固件/软件方面作为自己的项目,使用 GIT 存储库。

我们担心的是,TFS 2013 似乎要求任何工作项仅与来自同一项目的签入相关联。所以为了克服这个问题,我们将在同一个项目中拥有所有固件和软件,但分为几个不同的区域。我们担心如果它们都在同一个项目中,并且使用同一个 GIT 源代码存储库,当不同的软件区域在不同的时间发布,并且每个区域有几个分支时,我们可能会遇到问题。结合起来,我们最终可能会得到大量的分支。管理这些有问题吗?

是否可以将 TFS 2013 配置为允许工作项跨项目?是否可以将 GIT 设置为对不同的代码区域使用单独的存储库,即使它们都在同一个 TFS 项目中?

关于如何管理这个有什么建议,或者这在 TFS 2013 中是否无法管理?

感谢您提供任何帮助、评论或建议。


后来添加了这个:

在阅读了这篇文章的答案并与我的一些同事交谈后,在上述情况下,我们遵循的最佳途径似乎是拥有 2 个项目。1 用于硬件,另一个用于软件/固件。硬件将拥有自己的非 GIT 存储库,软件/固件将共享一个 GIT 存储库。我们将在 GIT 存储库中定义主分支。每个软件程序一个。每个程序将被分配一个不同的区域。这样,对于软件和固件,我们可以保持程序隔离,并且在 TFS 中的同一个项目中都可以看到它们,以进行项目管理和协作。它还将允许我们将所有签入与 TFS 项目相关联,并允许 QA 将错误与任务和区域相关联,所有这些都在一个项目中。

4

1 回答 1

2

You can use Teams and multiple repositories to accomplish this, all from within the same Team Project

Step 1: Split your different kinds of work into teams. Here's a good post on adding more teams inside the same Team Project: http://msdn.microsoft.com/en-us/library/vstudio/hh500414.aspx

Step 2: Create a second repo for your hardware code. Here's a link on how to do that (about halfway down the page): http://msdn.microsoft.com/en-us/library/hh850436.aspx

An alternative method would be to use just area paths to indicate what portion of the code your team is working on rather than separate teams (which are really just area paths + permissions anyways). Here's a good link on working with area paths: http://msdn.microsoft.com/en-us/library/vstudio/ms181692.aspx. You'd still use separate repos however.

What I would absolutely not do is create more than one Team Project. That path leads to nothing but headaches in the future. Use area paths and/or teams to organize instead.

于 2013-11-01T16:59:42.927 回答