【问题标题】:Unchanged .config files included in check in after Tfs merge?Tfs合并后签入中包含未更改的.config文件?
【发布时间】:2016-03-11 15:39:33
【问题描述】:

我的团队使用带有 Tfs 源代码控制的 Visual Studios 2013 开发了一个 Web 应用程序。我们在两个独立的团队中开发。

我们有 3 个分支,一个用于 UI 团队开发,一个用于服务器端,一个用于集成。

在每次迭代结束时,我们从 UI 分支和服务器分支合并到集成,在集成之后,我们从集成合并回其他分支。

在许多情况下,我们在进行这些合并时遇到了困难,因为文件被添加到合并中而没有被更改。我们不知道如何处理这些文件 - 例如 Web.Debug.config、Web.Release.config。

是否有特殊原因将这些文件添加到合并中而没有任何区别?我们应该检查他们吗?我们可以做些什么来防止这些文件被添加到签到吗?

编辑: 合并并非毫无根据,几乎每次都发生在我们身上。

提前致谢

【问题讨论】:

    标签: c# visual-studio-2013 asp.net-web-api2


    【解决方案1】:

    这是正常现象。因为它们之间没有分支关系。您正在执行无基础合并,解决方案中的每个文件都被标记为已更改,并在签入期间列在挂起的更改中。一般来说,您必须签入这些未更改的文件。

    但是,如果您不想签入它们。您可以从这个问题Files listed as pending changes when doing merges that didn't change? 尝试以下解决方法undo your pending changes. When you get the confirmation dialog choose "No to all". Only your pending changes should be left.

    注意:这适用于您仅对文件进行更改的情况。它不会合并您添加的任何新文件。

    【讨论】:

    • 对不起,我忘了说这不是毫无根据的合并。当添加了很多文件时,是否可以解决这样的合并问题?
    • 如果您在具有分支关系的分支之间合并(例如父子),则为“正常”合并。如果您在没有关系的两个分支之间合并(例如不同的分支结构或您删除了父...),则它是无根据的合并。根据您的描述,至少与UI分支和Server分支没有父子关系。
    • 如果所有合并都是正常合并,那么未更改的 .config 文件将不会包含在挂起的更改中。关于baseless merge的细节可以查看MSDN的这个链接:msdn.microsoft.com/en-us/library/bb668976.aspx
    • 我有一个稍微改动的解决方案,即使有新文件也可以工作:stackoverflow.com/a/41471514/1411039
    猜你喜欢
    • 2016-03-19
    • 2014-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 2011-01-12
    • 2018-04-14
    • 1970-01-01
    相关资源
    最近更新 更多