已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以用事实与引用来回答.
昨天关门了。
Improve this question
首先,我想在Git repo中检查配置文件的最新更改,而不拉取它们。
然后,我想单独提取文件。原因是,我有开发/质量保证/生产文件。我不想同步开发中的所有配置。
这可能会导致存储库设计:是把dev配置放在一个分支中而把qa放在不同的分支中更好,还是把它们分开放在不同的文件夹中更好,或者是不同的repos(这对prod数据来说更安全)。
目前,我有一个包含文件夹的存储库:开发/质量保证/生产
我希望在DEV中克隆时同步DEV文件夹..等等。
1条答案
按热度按时间h4cxqtbf1#
原因是,我有dev/QA/Prod文件。我不想同步DEV中的所有配置。
这就是为什么你的实际配置文件应该保持私有(不被Git跟踪)。
您应该只跟踪配置文件 * 值 * 以及配置文件模板
然后,您可以使用**content filter driver**,使用
.gitattributes
declaration。x1c 0d1x(图像来自“自定义Git - Git属性,”来自“Pro Git book“)
每次 checkout 分支时,该脚本通过将占位符值替换为
<branch.conf>
文件的值来生成conf
文件。您可以通过以下方式了解当前分支名称:
生成的实际
conf
保持忽略(由.gitignore
忽略)。合并期间没有同步问题。
涂抹脚本选择正确的值文件,并基于在
git switch
(或旧的git checkout
)期间涂抹脚本所应用的模板 * 生成 * 正确的conf
。请参阅“git smudge/clean filter between branches“中的内容驱动程序设置示例。