【问题标题】:How to discard TFS merge when you can't check in the target?无法签入目标时如何丢弃 TFS 合并?
【发布时间】:2012-05-17 14:25:30
【问题描述】:

我要合并的分支中有一个配置文件被锁定,普通开发人员无法更改它,但我正在工作的分支需要它不同。所以现在我有一个包含那个文件的变更集。我想将其作为合并候选者从那里丢弃到另一个分支。当我针对它发出tf merge /discard 时,我最终对目标进行了挂起的更改 - 但是当我尝试签入时,它抱怨目标已被管理员锁定以供签入(这就是我的全部原因想首先放弃合并!)。我该如何继续?

【问题讨论】:

    标签: tfs merge checkin locked


    【解决方案1】:

    Atario,看看我对this question 的回答。对于您的情况,如果您在目标分支(正在执行合并的分支)中设置工作区以隐藏该文件,则它将不再显示为该工作区中的合并候选者。如果您不想从任何分支合并到该文件,我建议您将其从分支映射中拉出。

    【讨论】:

    • 我无法让你的 cloak-a-single-file 技巧起作用。该对话框的文本字段为只读,因此我无法在文件夹名称后添加文件名。尝试使用 tf 命令,它需要 cloak 条目,但这似乎对合并候选列表没有影响,并且文件仍然在 UI 中正常显示。 (我应该补充一点,我正在使用 VS2008,如果这有任何影响的话。)
    【解决方案2】:

    我不能保证这会奏效,但这是我会尝试的(我通常发现通过简单的日常操作来做事情比试图找出你很少有机会尝试的晦涩选项更好):

    关闭锁定分支(A)上的保护,将分支B的合并操作应用到A,(如果不想保留更改,则在合并期间,保持代码不变) .然后检查“合并”文件,即使它没有实际更改。然后恢复保护。

    这应该让 TFS 认为它已经完成了合并并且结果被签入(未丢弃),因此它不应再认为该文件未合并。

    【讨论】:

      猜你喜欢
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 2016-02-02
      • 2018-04-20
      • 2020-10-23
      • 1970-01-01
      • 1970-01-01
      • 2016-03-15
      相关资源
      最近更新 更多