我目前是Git的新手,并且具有有关Git的非常基本的工作知识。我看到了使用此功能的潜力,但目前不确定下面要查询的路径。
背景:
我有一个源代码/主代码,可以在很长一段时间内保持相对不变。但是,在每个月的月底,我获取源代码,进行许多手动的“参数”更新-例如:日期,标志,user_id,数据集名称,数据集过滤器等,然后运行源代码。 (见图片)
我需要什么:
我想在每个快照中保存一个新的“参数”设置的实例。参数设置(例如日期,数据集名称,开始日期,结束日期等)手动输入到调用源代码的“主”程序中。如果有人请求运行历史代码,这是必需的。例如:如果今天(2018年7月)有人请求从2018年2月起重现数据,那么我要做的就是从2018年2月起恢复到“参数”设置并运行代码。
即使是错误修复/热修复/其他开发,参数更改也应该不会合并回源代码中。但是,注意每个快照之间“参数”更新的差异会很好。
解决此问题的最佳方法是什么?您将使用什么命令? –逐步执行“ git”命令过程会有所帮助。
答案 0 :(得分:1)
如果要将源代码与参数设置分开,则将这些值存储在单独的配置文件中。例如:
./src
./<all your source code>
./conf
./parameters.conf
并且,如果您想跟踪参数的更改,则必须将配置文件以及源代码提交到git repo。
对于每个快照,您将使用新值更新conf文件,然后将其提交回存储库:
git add conf/parameters.conf
然后您可以tag提交,以便将来可以撤消它:
git tag -a snapJun2018 -m "Snapshot for June 2018"
git push --tags origin
然后您可以使用标签名称检索历史快照:
git checkout snapJun2018
并列出所有标记的提交:
git tag
答案 1 :(得分:0)
如果需要修订输入数据,则必须以“可修订”的方式提供它们。这意味着它们需要序列化到可以检入git的文件中。
如果满足该要求,我将为每个“运行”创建一个分支,其中唯一的更改是“参数文件”:
a - b - f - g - h- i -> master
\- c -> run1 \- j -> run4
\- d -> run2 k -> run5
e -> run3