【问题标题】:Merging a branch back in - every single file listed as modified重新合并一个分支 - 每个被列为已修改的文件
【发布时间】:2015-12-03 16:11:54
【问题描述】:

我之前在主干分支的 TFS 中创建了一个分支。我定期合并主干->分支以使其保持最新状态,现在我准备推回主干。

我在 3 个项目中修改了大约 10 个文件,但是在合并 TFS 时将 7000 个文件标记为已修改,似乎分支中的每个文件。我可以看到在我检查的每种情况下文件都没有被修改,但我不敢在不检查每个文件的情况下签入它们,显然这在这种情况下不好!

在源代码管理资源管理器视图中,所有这些文件和文件夹都在“待更改”列中标记为“合并”。

我能否以某种方式修复问题,或者我是否需要撤消合并并仅手动合并我知道我实际修改过的文件,从而破坏合并的全部意义?

【问题讨论】:

  • 您是否在您的分支中移动了文件?
  • 不,这两个分支几乎相同。有一次,我将分支回滚到较早的状态,然后再次从主干合并(撤消该回滚),这是我能想到的,但我不能确定。如果我可以撤消对所有相同文件的签出,那可能会有所帮助
  • 是的,但它不是毫无根据的合并,我可以通过在 VS/TFS 中查看它的层次结构来验证分支是主干的直接子节点
  • 主干项目结构修改了吗?

标签: tfs visual-studio-2013


【解决方案1】:

原因可能是Why are all files marked with 'merge' in TFS? 中列出的项目之一

但也有其他情况:

  • 目标分支的另一个分支本身有一个分支,该分支被重命名,然后合并到子分支,然后该子分支合并到您的目标分支;
  • 您的分支发生了移动或重命名,并且已回滚(但您仍然可以在变更集中看到它);

我解决它的方法是使用“选定的变更集”而不是“直到特定版本的所有更改”进行合并。然后在以下对话框中,排除重命名尝试。

完成此操作后,您仍然会在历史记录中保留这些变更集,每次合并都会困扰您,因此您可能希望使用“tf merge /discard”丢弃它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-18
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多