TFS 源代码管理 - 防止特定行合并
TFS source control - prevent a specific line from merging
我有一个项目的 Dev 和 Main 分支。它们在不同的 URL 上演,我在我的项目中以静态 class:
引用了这个 URL
public static class Constants
{
public const string Url = "http://staging.myurl.com";
}
现在 URL 在每个分支中都会不同,但我不希望 URL 在我合并 Dev->Main 或 Main->Dev 时互相覆盖。
有没有办法告诉 TFS 我不想合并该行,或者必须在文件级别进行合并?
有人对我如何在每个分支中保持独立的 URL 有任何建议吗?如果可以的话,我不想使用数据库或配置文件。在 TFS 中是否有一种简单的机制来促进这一点?
我考虑过在预编译 #if 语句中包装该行并检查特定的构建配置,但我很想知道是否有更好的方法?
就目前而言,您将基础架构问题直接硬编码到您的应用程序中,这很糟糕。您的应用程序代码应该与环境无关。
这应该通过配置文件进行管理;这是它的典型用例之一。配置文件可以在构建时(通过 web.config 转换)转换为特定于环境的版本,或者理想情况下,在部署时通过部署脚本转换。
无法忽略特定行。您可以忽略特定的 文件 (通过 .tfignore
用于 TFVC,或通过 .gitignore
用于 Git),但您不能只告诉版本控制不是版本控制文件的特定行。
我有一个项目的 Dev 和 Main 分支。它们在不同的 URL 上演,我在我的项目中以静态 class:
引用了这个 URLpublic static class Constants
{
public const string Url = "http://staging.myurl.com";
}
现在 URL 在每个分支中都会不同,但我不希望 URL 在我合并 Dev->Main 或 Main->Dev 时互相覆盖。
有没有办法告诉 TFS 我不想合并该行,或者必须在文件级别进行合并?
有人对我如何在每个分支中保持独立的 URL 有任何建议吗?如果可以的话,我不想使用数据库或配置文件。在 TFS 中是否有一种简单的机制来促进这一点?
我考虑过在预编译 #if 语句中包装该行并检查特定的构建配置,但我很想知道是否有更好的方法?
就目前而言,您将基础架构问题直接硬编码到您的应用程序中,这很糟糕。您的应用程序代码应该与环境无关。
这应该通过配置文件进行管理;这是它的典型用例之一。配置文件可以在构建时(通过 web.config 转换)转换为特定于环境的版本,或者理想情况下,在部署时通过部署脚本转换。
无法忽略特定行。您可以忽略特定的 文件 (通过 .tfignore
用于 TFVC,或通过 .gitignore
用于 Git),但您不能只告诉版本控制不是版本控制文件的特定行。