TFS中的分支与货架

Cla*_*ein 22 tfs shelving

我过去总是使用SVN,现在我们已经超越了项目的初始阶段,我们需要弄清楚我们未来增强的分支过程.

在阅读本文时,我们看到TFS有Shelving.

他们如何比较?每个都有什么大问题?

一般来说,哪个是首选,为什么?

fwa*_*lch 21

搁置集是按用户而不同地存储在源控件中 - 不可能合并搁置集,没有历史记录等.唯一可能的操作是取消搁置; 你这样做甚至无法合并文件.因此,我们仅将其用作尚未完成的事物的临时存储,因此无法检入分支.

所以,你应该使用分支;-)可能是一个主分支和不同的开发分支的功能和错误修复.

  • 这是我正在寻找的一些信息.特别是货架的合并. (2认同)

Jer*_*uel 11

搁架和分支是不一样的概念.

分支正在采用代码库并"拆分"它,基本上是复制它.开发团队可以在自己的分支上工作(例如),然后可以将所有更改合并回原始分支.分支只能合并到TFS中的父分支.

搁架允许开发人员将源代码控制系统中的代码检查成"搁置".代码未检入主分支.如果构建管理器或其他开发人员"获得最新",则默认情况下他不会获得搁置的代码.搁架像所有其他代码一样安全地存储在源代码控制中,它不在分支中.其他开发人员可以下架以查看效果.在某些时候,更改将被检入主分支,并将成为变更集的一部分.

我建议这本书:http://www.amazon.com/Team-Foundation-Server-2008-Action/dp/1933988592/ref=sr_1_1?ie= UTF8&s=books& qid= 1263417920&sr= 8-1

它对搁架,合并和各种分支模型有一个非常简单但有效的解释.


Bru*_*nez 7

避免搁置.你总是会在一个较新版本的文件上恢复搁置并丢失所有已提交的更改.只有当你开始在一个稳定的分支上工作时才使用货架,并意识到所需的变化比预想的要大.然后搁置你的工作,创建一个分支,并取消它的优势.

  • 阿门对此.我发现搁架是危险的,因为TFS不会对你搁置以来所做的任何事情提供废话.一旦你取消了,那工作就不复存在了. (4认同)

Ran*_*der 5

搁架和分支是两个完全不同的东西.搁架允许您将所有更改存储到TFS中,但它们实际上并未签入任何特定分支.您的更改只是以给定名称保存.这实际上非常有用,因为它是进行代码审查的好方法.我可能已经对10个不同的文件进行了更改.我将使用给出名称创建这些更改的搁置集.然后我会请别人检查我的货架.然后,我可以取消搁置这些更改或删除搁置集.

分支是一个过程,您可以通过该过程制作代码主干的完整副本,并为其指定名称和位置.然后,您可以针对代码分支签入/签出/合并.在处理下一版本的应用程序时,这非常棒.您可以创建一个分支来处理新功能.

以下是搁置集的一个很好的解释:http://msdn.microsoft.com/en-us/library/ms181403(VS.80) .aspx


Jac*_*nev 5

Shelvesets是待定更改,注释和相关工作项的集合.

场景:

  • 备用
  • 暂时将更改移至另一个问题上
  • 远程代码审查
  • 好友建立或协调变化

当您的开发团队需要同时处理项目的两个不同副本时,需要一个分支.