Visual studio 2012 Team Foundation Server:为什么变更集历史在不同的项目之间共享?
我已经使用TFS几个月了,在web界面上有几个独立的(不相关的)项目,并在Visual Studio 2012中链接相关的项目。我所经历的异常情况(至少我是这样认为的)是,检入项目A的代码会增加所有其他项目的变更集序列号(例如,到124),这样,当项目B被更改并检入时,它会得到下一个变更集号(例如125)。对我来说这很奇怪:如果项目A和项目B是完全独立的(除了我对两个项目使用相同的TFS帐户这一事实之外),为什么它们都共享一个共同的变更集历史序列?我在设置TFS时是否做错了什么Visual studio 2012 Team Foundation Server:为什么变更集历史在不同的项目之间共享?,visual-studio-2012,tfs,changeset,Visual Studio 2012,Tfs,Changeset,我已经使用TFS几个月了,在web界面上有几个独立的(不相关的)项目,并在Visual Studio 2012中链接相关的项目。我所经历的异常情况(至少我是这样认为的)是,检入项目A的代码会增加所有其他项目的变更集序列号(例如,到124),这样,当项目B被更改并检入时,它会得到下一个变更集号(例如125)。对我来说这很奇怪:如果项目A和项目B是完全独立的(除了我对两个项目使用相同的TFS帐户这一事实之外),为什么它们都共享一个共同的变更集历史序列?我在设置TFS时是否做错了什么 谢谢 不,没错。
谢谢 不,没错。一件事不是另一件事,所有变更集都存储在一个地方,每个变更集都与一个ID关联。如果您愿意,可以同时检查多个项目/解决方案。在这一点上,每个项目单独的id将有一个真正的问题。变更集是整个版本控制树的快照-即,
$/
。这是因为您的项目可能具有相互依赖性;您可以在一个变更集中签入两个项目,并且该变更集需要是原子的
换句话说,您希望一个项目中的两个文件用一个变更集提交的原因与您希望两个项目中的两个文件用一个变更集签入的原因相同。团队项目并不独立于源代码管理的观点。原因很简单-您可以将(保存历史)从一个团队项目复制到另一个团队项目 因此,TeamProject1的变更集将引用TeamProject2中变更集的某些内容 有独立的历史,这将是困难的