TFS'保留本地版'是否会更改文件的历史记录?

时间:2014-05-29 18:45:24

标签: tfs tfs2010 tfs2012

如果我检出文件并稍后运行更新,我通常会遇到冲突,这给了我一些解决方案。如果我选择“保留本地版本”选项,我的更改是否替换服务器的版本而不更新历史记录?

您是否有理由想要一个秘密更改源代码的选项?

2 个答案:

答案 0 :(得分:3)

在您签入文件之前,没有任何变化,您将始终拥有历史记录和注释。

通常,除非您有充分的理由不想要合并冲突的非二进制文件并在选择是否采用更新的二进制文件时使用常识。如果它是一个非二进制合并,那么你唯一一次保持本地化是因为你特别知道你不想要最新的更改,因为你检查了文件以使其进入你的副本。

答案 1 :(得分:1)

合并时,一切都在您的PC上发生 - 没有签入服务器。

您有三种选择:

  • 保留服务器版本。这非常类似于“撤消结账”,它会使用服务器的文件版本覆盖您的本地副本,这样您的本地更改就会丢失。
  • 保留本地版本。这忽略了服务器上的内容并将版本保留在PC上,因此保留了本地更改。
  • 合并。这允许您使用差异/合并过程从源文件和服务器的源文件中选择文本行,这允许您(a)确切地查看两个版本中已更改的内容,以及(b)确定最终的内容结果应该是(所有服务器的更改,所有更改,或(通常)两者的混合混合。

合并后,如果您使用了将改变本地副本的任一选项,那么您真的应该重建项目并检查所引入的更改是否已破坏您的代码。然后,当您确信一切正常时,您可以继续工作并办理登机手续。

与源代码管理一起使用的最佳方法是进行小型自包含修改,您可以经常签入(例如,每天一次或两次)。类似地(在检查网络代码是否安全之后,例如通过持续集成),相当频繁地获取最新代码(每次登记后,最好每天不少于一次)。此团队策略可最大程度地降低您的更改与其他开发人员的更改冲突的可能性以及所需的合并。在发生冲突的情况下,通常可以快速轻松地解决问题,因为您经常使用一小段代码,而不是在数周内“脱机”工作并等待数千次更改在服务器上进行构建。合并通常是复杂和困难的,因此选择最小化合并需求的策略可能是一种非常有益的方法。