首页 > 解决方案 > 如何排除文件被合并到其他 git 分支?

问题描述

我有两个分支:一个用于开发,另一个用于生产,每个分支在 app.config 文件中都有自己的配置值

我想要的是在合并或重新设置这些分支时忽略这些值。

标签: gitversion-controlatlassian-sourcetree

解决方案


那么也许你最好的选择是甚至不版本 app.config

没错,但是您仍然可以使用内容过滤器驱动程序使用声明来生成它。.gitattributes

您要版本的是一个模板文件,以及一个包含每个环境(每个分支)所有可能值的文件。

弄脏 (图片来自“ Customizing Git - Git Attributes ”,来自“ Pro Git book ”)

生成的实际文件仍然被忽略(由.gitignore):您的实际工作树不会“变脏”。

smudge脚本:

  • 检测正确的分支
  • 选择正确的值文件根据smudgegit checkout.

这样,您可以config.<branch>根据需要修改值文件:配置文件(未版本化)将从这些值生成。
它不会有任何合并问题。


推荐阅读