【发布时间】:2019-03-19 10:57:45
【问题描述】:
我有以下情况想要解决。我目前专注于为此使用 git,但这可能不是正确的路径。
我有一个文件 docker-compose.yml,我们称这个文件为 A 和一个文件,docker-compose.override.yml,我们称这个文件为 B (未来我们还会有额外的文件,但由于这基本上是重复的情况,我们暂时忽略这个扩展)
A 和 B 的不同版本使用 v1.0 等表示,IE:Av1.0 和 Bv2.1
我们从 Av1.0 和 Bv1.0 开始 然后我们添加 Av1.1(因此保留 Bv1.0) 然后我们添加 Bv1.1 等等。从历史的角度来看,你会看到这样的事情:
Av1.0 Bv1.0 Av1.1 Bv1.0 Av1.1 Bv1.1 Av2.0 Bv1.1 Av3.0 Bv1.1 AV3.0 Bv3.0(记住,文件名为A和B,只是内容不同)
如何从 repo 中找到特定的版本集:
- 能够找到特定版本的 A
- 能够找到与此版本 A 相关的所有 B 版本
我考虑过使用标签和特定的提交字符串,但我也希望用户提交新版本的 A 或 B 而不必遵守非常严格的文本输入(标签或提交),因为很容易出现拼写错误。 另一个解决方案是完全自动化添加到 repo,但我不知道要开始。因此,我们将不胜感激。
【问题讨论】:
-
我什至不认为 Git 必须参与其中。每次提交时似乎都存在版本号的文件。您可能希望根据特定模式使用
grep之类的东西。 -
文件的内容发生了变化,而不是名称本身。因此,我们需要多个目录。这是一种选择,但我更喜欢使用 git 风格的方式,如果有的话。
-
此时我们正在考虑使用自动放置的标签,因此不会出现用户错误,使用 git 挂钩。然后我们可以选择标签来得到正确的组合。
标签: git docker-compose tags find commit