Git-创建参数更新的快照

时间:2018-07-20 08:29:00

标签: git bitbucket bitbucket-server

我目前是Git的新手,并且具有有关Git的非常基本的工作知识。我看到了使用此功能的潜力,但目前不确定下面要查询的路径。

  

背景:

我有一个源代码/主代码,可以在很长一段时间内保持相对不变。但是,在每个月的月底,我获取源代码,进行许多手动的“参数”更新-例如:日期,标志,user_id,数据集名称,数据集过滤器等,然后运行源代码。 (见图片) enter image description here

  

我需要什么:

我想在每个快照中保存一个新的“参数”设置的实例。参数设置(例如日期,数据集名称,开始日期,结束日期等)手动输入到调用源代码的“主”程序中。如果有人请求运行历史代码,这是必需的。例如:如果今天(2018年7月)有人请求从2018年2月起重现数据,那么我要做的就是从2018年2月起恢复到“参数”设置并运行代码。

即使是错误修复/热修复/其他开发,参数更改也应该不会合并回源代码中。但是,注意每个快照之间“参数”更新的差异会很好。

解决此问题的最佳方法是什么?您将使用什么命令? –逐步执行“ git”命令过程会有所帮助。

2 个答案:

答案 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