如何将文件从其他合并到其他git分支?

时间:2019-02-18 15:44:32

标签: git version-control atlassian-sourcetree

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

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

1 个答案:

答案 0 :(得分:2)

那么您最好的选择是什至不对app.config进行版本化

确实如此,但是您仍然可以使用 content filter driver 使用.gitattributes declaration 生成

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

smudge (来自“ Customizing Git - Git Attributes”的图像,来自“ Pro Git book”的图像)

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

smudge脚本:

  • 检测右分支
  • 根据在smudge期间应用git checkout脚本的模板,选择正确的值文件并生成正确的文件。

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