搁板和托运在TFS之间有什么区别?

时间:2009-02-05 16:52:03

标签: version-control tfs shelve checkin

每个人的概念是什么?

什么时候可以搁置您的更改而不是登记?

5 个答案:

答案 0 :(得分:35)

搁置意味着为稍后进行更改。

签入意味着更改可供团队的其他人使用,将在构建中并最终发布。

非常不同。当你没有完成一项任务时,可以考虑将搁置作为上下文切换的工具。签到意味着你已经完成了(至少是其中的一部分)。

答案 1 :(得分:12)

如果要保存所做的更改,请保留更改,但需要返回到先前版本以进行其他更改(可能是错误修复),而无需您当前正在处理的更新。由于你经常会经常登记,我发现这是一个罕见的事件 - 就像我刚刚部署到QA框并立即发现错误。我将搁置那一天的变化,让我回到QA部署版本,进行更新,然后取消我的更改 - 根据需要合并两者。任何比这更长的时间你可能会想要查看以前的版本和分支。我很高兴听到其他经验证明搁架更有用的经历。

答案 2 :(得分:5)

其他用户可以通过搜索来下载您的shelvesets,因此这是传递代码以进行评论的好方法。但是,如果您尝试取消已经检出的代码文件,则会出现错误,因此您需要准备好干净的环境。

如果我正在处理一些我无法检查的大事,我经常会在一天结束时搁置我的更改。这样,如果我的PC一夜之间死掉,我就会在服务器上备份。 / p>

答案 3 :(得分:2)

达西让它成为现实。你也可以把搁置看作是一个大部分都不公开的私人分支。 Shelvesets也可以完全删除,而不是删除已签入的代码。如果删除货架集,它将永远消失。

答案 4 :(得分:0)

上面的每个人都说得太多了,我从中学到了很多东西。

只是为了补充我的经验,如果我错了,请纠正我。在项目中,我们有一个特定于开发人员每台PC的配置文件 mypc.json 。我们通常在本地运行服务器时覆盖它。其他团队成员具有相同的文件名,其中包含不同的配置。没有人希望将他们的文件以相同的名称推送到开发分支。所以我使用shelve来保存这些类型的更改。每当我需要这些配置时,我都可以轻松地从搁置中应用更改,我的环境配置又回到了我的项目中。