基于每个文件的版本控制

时间:2016-05-12 06:59:17

标签: git version-control workflow

我经常为大型(ish)项目进行计算流体动力学(CFD)建模仿真,并且正在寻找更好的方法来管理不同的文件版本。 我有一些(只有一种工作流程)git和svn的经验,但我相信他们不能满足我的所有需求。

典型的工作流程如下:

  1. 设置校准模拟的初始文件。

  2. 调整此文件并重新运行(重复步骤1)

  3. 对校准感到满意后,从最佳参数集设置验证运行

  4. 校准/验证全部完成后,为设计运行设置文件: 即。场景A,场景B,场景C

  5. 糟糕,您忘记在场景C中输出一些关键内容,因此您必须稍作更改,然后重新运行模拟

  6. 目前的做法是重新命名每个连续的运行001,002等。这使得事情不清楚什么时候最好的'校准可能不是最高运行数,即。你测试了一些更多的东西,但它们并没有必要改进。或者,当您需要对最新的Scenario模拟的结果进行比较时,这会令人困惑,并且方案A和B都是001,但是方案C是002。

    理想情况下,版本控制系统能够记录每个连续提交并显示与旧版本的比较。奖金将是能够追踪最佳'分支中的版本,即。到目前为止最好的校准模拟,并能够快速恢复到该版本。

    其次,系统需要允许从给定版本的现有文件的模板创建新文件。 IE浏览器。在为场景模拟(AB和C)创建文件时,从最新校准/验证设置的副本开始,然后进行更改以定义不同的场景(模拟的不同时间,不同的几何等)并提交这些场景 - 然后能够在场景之间进行快速比较,并查看它们共有的版本。

    第三,可能破坏许多系统可能使用的最后一个功能是能够在任何时候在文件夹中检出多个版本的文件。 IE浏览器。在周末之前,我可能会设置10个模拟参数略有不同,并将它们全部分批运行,以便在星期一早上我可以选择最好的,然后将树折叠到当前最佳的树。

    理想情况下,这将有一个很好的GUI(想想用于Windows的github)可以看到任何文件的最近更改,并单独提交一个文件更改,最重要的是单独将单个文件还原到以前的版本。我希望在任何时候基本上只在文件夹中有所需的校准,验证,场景A,B和C文件,但是可以选择签出一个版本的几个版本,然后再折叠它们。

    在线浏览表明这样一个利基系统并不存在,我并不反对自己创造一些东西。但是,对于现有系统(Git?),是否有人能够完成所有或至少大部分要求?或者也许任何在线工具,我可以从某种形式开始和黑客攻击?或者最重要的是,一个涵盖了这个地段的奇迹系统......

1 个答案:

答案 0 :(得分:1)

  

理想情况下,版本控制系统可以记录每个连续提交并显示与旧版本的比较

任何 VCS都将其作为基本功能

  

奖金可以跟踪分支中的“最佳”版本

书签/标签/标签(不同VCS中针对同一任务的不同名称“特别标记历史中的某些点”)

  

其次,系统需要允许从给定版本的现有文件

的模板创建新文件

再次分支 - 大多数(全部?)VCS的核心

  

可能会破坏许多系统可能使用的最后一项功能是,可以在任何时候在文件夹中检出多个版本的文件。

你怎么想象这个?对于此路径,Folder1/FileA必须是唯一的,对于任何操作系统和/或FS,它必须是Folder2/FileA ... FolderN/FileAFolder1/FileA1 ... Folder1/FileAN / p>

无论如何“一些不同版本的工作目录进行了检查”对于任何VCS来说都不是一个大问题(由于性质不同,实施细节可能会有所不同)

嗯,根据上面的说明,您可以使用现有的VCS,几乎所有的VCS(漂亮的GUI可能只消除某些情况下的某些 ,Windows上的Fe Git)