2012-03-08 52 views

回答

5

任何分支或项目,即 “删除” 保持历史。任何销毁的分支或物品都将从数据库中删除,因此不在历史中。删除时没有/ keephistory选项,因为所有删除都保留历史记录。我还没有将这个/角色人物用于销毁命令,所以我不能给你一个建议。只是阅读它的文档here我猜想,定期删除和/ keephistory破坏之间的区别在于破坏不能逆转。

在你描述的情况下,我不建议选择分支,因为那是你的历史,关于谁改变了什么生活。合并时,只有一个签入包含所有已合并的更改,并且与合并中的签入相关联。

在TFS 2010之前,合并的历史很难遵循,但如果花时间弄清楚的话可能会发生。在TFS 2010中,更容易看到通过分支进行更改的流程。

如果我知道你想要销毁的理由,但我可以更好地回答,但这里有几件事要考虑:如果你正在销毁,以帮助你减少磁盘空间1)分支不花费太多,因为他们只保留差异不是一个完整的副本2)如果你正在销毁以节省磁盘空间,并使用/ keephistory,我猜测它不会减少磁盘空间的使用。如果你正在销毁,因为OMG的代码是垃圾,没有人应该有机会遭受它的恐怖,那么你可能会推翻事情。

+0

什么BitOff写afaik几乎是正确的。分支可以大大增加磁盘使用量,如果你修改了很多文件的内容 - 甚至在这种情况下分割也无济于事。销毁文件的内容,同时保留元数据,更改历史等等是为什么添加了记录。如果你直接破坏分支的历史将会丢失。 – MichalMa 2012-03-09 07:52:48

+0

好吧,但这实际上是TFS的一大缺点。当我合并一些东西时,我想合并这些更改。 – 2012-03-09 09:04:32

-1

是否删除原始来源。 TFS中的任何内容都没有真正删除,只是置于“已删除状态”。

检查此链接

Will deleting a project in TFS remove the files, or will the history be preserved?

+1

我认为这是如果你做一个定期删除,但如果你做一个销毁该文件将被永久删除。从您发布的链接中找到:“但是,您可以使用tf.exe destroy永久删除您的更改。” – 2012-03-08 09:34:28

+0

正如@TomasJansson指出的,这仅适用于删除。 – 2012-03-08 14:15:38

+0

这是写的不正确。 “删除”将保留历史上的实际内容和修订版,但不会在最新版本中看到。您可以稍后取消删除某些内容。但是,“销毁”标记它将完全从数据库中删除。它不会立即删除,但有一个TFS作业可以找到所有这些内容并清理/删除定期销毁的内容。 – 2012-03-09 12:16:25

1

我实际上在TFS 2013中测试了tf destroy/keephistory选项。/ keephistory选项实际上只保留了View History and Comments,但删除了所有文件的版本。如果您尝试比较版本,则会出现文件版本被破坏的错误。因此,如果您想保存评论和修改代码的人的历史记录,但实际上并不关心确切更改的内容,则可以使用/角色来节省磁盘空间。如果您真的想查看和比较旧版本,则应该将其保留在删除状态,因为使用/ keephistory选项进行销毁不会保留内容。如果代码无用或者使用错误的名称或其他东西签入,请勿在没有/ keephistory的情况下销毁所有内容,包括“查看历史记录”和“评论”。