Git - 创建参数更新的快照
Git - creating snapshots of parameter updates
我目前是 Git 的新手,对 Git 有非常基本的工作知识。我看到了使用它的潜力,但目前不确定下面我的查询所采用的路径。
Background:
我有一个 code/master 源代码,它在很长一段时间内保持相对不变。然而,在每个月底,我都会获取源代码,进行许多手动“参数”更新——例如:日期、标志、user_id、数据集名称、数据集过滤器等,以及 运行源代码。 (见图)
What I need:
我想在每个快照中保存新 "parameters" 设置的一个实例。参数设置(例如日期、数据集名称、开始日期、结束日期等)手动输入到调用源代码的 "main" 程序中。如果有人请求历史代码 运行,这是必需的。例如:如果今天(2018 年 7 月)有人要求重现 Feb/2018 的数据,那么我只想恢复到 Feb/2018 和 运行 的“参数”设置] 代码。
参数更改应该也不会合并回源代码,即使它是一个错误 fix/Hot 修复/额外开发。但是,注意每个快照之间“参数”更新的差异会很好。
解决此问题的最佳方法是什么?您会使用哪些命令? – 逐步的“git”命令程序会有所帮助。
如果您需要修改输入数据,则必须以 "revisionable" 方式提供。这意味着它们需要序列化为一个文件,该文件可以签入 git.
如果满足该要求,我将为每个 "run" 创建一个分支,其中 "parameter file" 是唯一的变化:
a - b - f - g - h- i -> master
\- c -> run1 \- j -> run4
\- d -> run2 k -> run5
e -> run3
如果您想将源代码与参数设置分开,我会将这些值存储在单独的配置文件中。例如:
./src
./<all your source code>
./conf
./parameters.conf
而且,如果您想跟踪参数的更改,则必须将配置文件与源代码一起提交到 git 存储库。
对于每个快照,您将使用新值更新 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
我目前是 Git 的新手,对 Git 有非常基本的工作知识。我看到了使用它的潜力,但目前不确定下面我的查询所采用的路径。
Background:
我有一个 code/master 源代码,它在很长一段时间内保持相对不变。然而,在每个月底,我都会获取源代码,进行许多手动“参数”更新——例如:日期、标志、user_id、数据集名称、数据集过滤器等,以及 运行源代码。 (见图)
What I need:
我想在每个快照中保存新 "parameters" 设置的一个实例。参数设置(例如日期、数据集名称、开始日期、结束日期等)手动输入到调用源代码的 "main" 程序中。如果有人请求历史代码 运行,这是必需的。例如:如果今天(2018 年 7 月)有人要求重现 Feb/2018 的数据,那么我只想恢复到 Feb/2018 和 运行 的“参数”设置] 代码。
参数更改应该也不会合并回源代码,即使它是一个错误 fix/Hot 修复/额外开发。但是,注意每个快照之间“参数”更新的差异会很好。
解决此问题的最佳方法是什么?您会使用哪些命令? – 逐步的“git”命令程序会有所帮助。
如果您需要修改输入数据,则必须以 "revisionable" 方式提供。这意味着它们需要序列化为一个文件,该文件可以签入 git.
如果满足该要求,我将为每个 "run" 创建一个分支,其中 "parameter file" 是唯一的变化:
a - b - f - g - h- i -> master
\- c -> run1 \- j -> run4
\- d -> run2 k -> run5
e -> run3
如果您想将源代码与参数设置分开,我会将这些值存储在单独的配置文件中。例如:
./src
./<all your source code>
./conf
./parameters.conf
而且,如果您想跟踪参数的更改,则必须将配置文件与源代码一起提交到 git 存储库。
对于每个快照,您将使用新值更新 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