在tfs中进行破坏时,历史会被保留吗?

时间:2012-03-08 09:18:27

标签: tfs

说我有两个分支;主人和孩子。我在孩子身上做了一些改变并将它们合并回主人。在子分支上执行销毁时,子分支中所做更改的历史记录是丢失还是合并回主分支?我是否必须指定/keephistory参数?

3 个答案:

答案 0 :(得分:5)

“已删除”的任何分支或项目仍保留在历史记录中。销毁的任何分支或项目都将从数据库中删除,因此不在历史记录中。删除时没有/ keephistory选项,因为所有删除都会保留历史记录。我没有在破坏命令中使用/ keephistory,所以我不能给你一个推荐。只是阅读它的文档here我猜想定期删除和/ keephistory的破坏之间的区别是破坏无法逆转。

在你描述的情况下,我不建议你去分行,因为那是你改变生活的历史。合并时,只有一个签到,其中包括合并的所有更改,但它与合并中的关联相关联。

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

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

答案 1 :(得分:1)

我实际上在TFS 2013中测试了tf destroy / keephistory选项./ keephistory选项实际上只保留了View History和Comments但删除了文件的所有版本。如果您尝试比较版本,则会收到文件版本被销毁的错误。因此,如果要保存注释以及更改代码的人员的历史记录,但实际上并不关心确切的更改,可以使用/ keephistory来节省磁盘空间。如果您确实想要查看和比较旧版本,则应将其保持在已删除状态,因为使用/ keephistory选项进行销毁时不会保留内容。如果代码无用或使用错误的名称或其他内容签入,请在没有/ keephistory的情况下销毁以消除包括查看历史记录和注释在内的所有内容。

答案 2 :(得分:-1)

是否删除原始来源。 TFS中的任何内容都不会被真正删除,只需置于“已删除状态”即可。

检查此链接

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