【发布时间】:2015-10-10 11:19:00
【问题描述】:
所以我正在寻找一种方法来处理 git projet 中的配置文件。我阅读了一些关于该主题的文章,但所有文章都建议使用第二个本地文件。我觉得这不对。
所以我弄乱了一些 git 命令以找到另一种方式来实现目标。
我发现这可能的一种方式可能是这样的:
文件
该示例的配置是文件内的简单key : value 列表。
local 状态是模板的最新拉取版本:
1 : 1
2 : 2
3 : 3
remote 状态是存储库上的版本:
1 : 1
a : 2
3 : 3
4 : 4
在这个文件上,我有一个新字段:4 和一个修改后的字段a。
最后working 状态是应用程序使用的配置文件。它是local 文件的副本,修改了用于运行应用程序的秘密值。此版本不应推送到存储库。
1 : secret1
2 : secret2
3 : secret3
流程
这是我想到的工作流程:
开启pull/checkout:
- 将
working文件备份到单独的文件中,防止被重写; - 合并
local和remote得到最后一个配置模板; - 在某种程度上合并了
local和saved_working。
只要不覆盖现有的字段值,最后一次合并应为用户提供要添加的新字段的显示。
这种操作的一个例子可能是:
第一次合并:
- 2 : 2
+ a : 2
+ 4 : 4
第二次合并:
1 : secret1
- 2 : secret2
+ a : 2
3 : secret3
+ 4 : 4
现在,在能够再次使用该应用程序之前,我们清楚地看到了变化的线条。
你怎么看?
【问题讨论】:
标签: git merge config app-secret