什么是TFS货架?什么是TFS货架?(What is Shelving in TFS?)

2019-05-12 14:31发布

被搁置在TFS仅仅是一种软签,以便其他团队成员可以看到源代码?

即搁置代码不会被编译的吧?

Answer 1:

货架有很多用途。 主要的有:

  1. 上下文切换 :保存在您的当前任务的工作,所以你可以切换到另一个高优先级任务。 比如你正在开发一个新的功能,干好你自己,当你的老板运行在说“唉唉!错误的Bug臭虫!” 你必须放弃对功能的电流变化,去修复bug。 您可以搁置你的工作的功能,修正错误,然后再回来取消搁置到更改后的工作。
  2. 分享变更 :如果你想分享的代码变更没有检查它,你可以通过它搁置很容易让其他人访问。 这可能当你传递一个未完成的任务给别人(可怜的灵魂)一起使用,或者如果你有某种形式的测试代码,你永远不会在别人运行所需EVER检查。 H / T约使用本作评论其他答复,这是一个非常不错的主意。
  3. 保存进度 :当你在一个复杂的功能时,您可以在“好点”,你想保存进度发现自己。 这是搁置你的代码一个理想的时间。 说你是黑客攻击了一些CSS / HTML修复渲染错误。 通常你一声就可以了,每次迭代可能杂牌你能想到的,直到它看起来正确。 但是,一旦它看起来的权利,你可能会想尝试回去清理您的标记,以便其他人也许能明白你做了什么你检查它。在这种情况下,您可以搁置代码时一切呈现权,那么你可以自由地去重构您的标记,知道如果你不小心再次打破它,你可以随时回去,让你的变更。

任何其他用途?



Answer 2:

货架是保存所有在你的对话框中的更改而不检查的方法。这些变化是在服务器上保留。 以后任何时候您或您的队友可以“取消搁置”它们拖回你的机器中的任何一个。

这也是伟大的进行审查的目的。 在我的团队做了检查中,我们搁置了我们的变化,并与变更的变化描述和名称发送电子邮件。 然后对球队的人可以查看变更并给予反馈。

FYI:回顾搁置的最佳方法是使用下面的命令

TFPT审查/搁置:shelvesetName;用户名

TFPT是团队基础电动工具的一部分



Answer 3:

那就对了。 如果你创建一个架子,其他人做一个获得最新不会看到你的代码。

它把你的代码更改到服务器上,这可能是更好的备份比你的工作电脑。

它使您可以拿起您的更改另一台机器上,你应该觉得敦促在家工作。

其他人可以看到你的书架(虽然我认为这可能是可选的),这样他们可以查看之前签入你的代码。



Answer 4:

我碰到过这一切的时候,对于分支所以补充信息:

如果你有多个分支机构的工作,搁置集是绑在其中创建它们的特定分支。 所以,如果你让货架时间过长变更集防锈,不得不取消搁置到不同的分支,然后你要做的,随着电动工具的七月发布。

tfpt unshelve /migrate


Answer 5:

One point that is missed in a lot of these discussions is how you revert back on the SAME machine on which you shelved your changes. Perhaps obvious to most, but wasn't to me. I believe you perform an Undo Pending Changes - is that right?

I understand the process to be as follows:

  1. To shelve your current pending changes, right click the project, Shelve, add a shelve name
  2. This will save (or Shelve) the changes to the server (no-one will see them)
  3. You then do Undo Pending Changes to revert your code back to the last check-in point
  4. You can then do what you need to do with the reverted code baseline
  5. You can Unshelve the changes at any time (may require some merge confliction)

So, if you want to start some work which you may need to Shelve, make sure you check-in before you start, as the check-in point is where you'll return to when doing the Undo Pending Changes step above.



Answer 6:

货架是喜欢你的更改已存储在源控制不影响现有的变化。 如果您在源代码控制它会修改现有文件的文件检查,但货架就像是存储源代码控制你的变化,但不改变实际发生的变化。



Answer 7:

@JaredPar:是的,你可以使用搁置集进行审查,但请记住,搁置集可以自行覆盖/人,因此不是长期稳定。 因此,对于监管相关的评论,你不应该使用一个搁置为基础,而是签入(变更集)。 对于一个非正式的评论是好,但不是正式的(如FTA相关)发表评论!



Answer 8:

如果您使用封闭式构建,当构建被触发时,它会创建您的工作空间是用于构建提交的搁置。 如果构建失败,搁置被拒绝。 如果构建成功,将创建一个变更,并承诺TFS。 在任何一种情况下,这样做签入/构建的人都会有调和的工作区,这是为执行获取最新的那样简单。



文章来源: What is Shelving in TFS?
标签: tfs shelve