簡體   English   中英

基於每個文件的版本控制

[英]Version Control on Per File Basis

我經常為大型 (ish) 項目進行計算流體動力學 (CFD) 建模模擬,並且正在尋找一種更好的方法來管理不同的文件版本。 我對 git 和 svn 有一些(僅在一種工作流程中)經驗,但我相當確信它們不能滿足我的所有需求。

一個典型的工作流程是這樣的:

  1. 為校准模擬設置初始文件。

  2. 調整此文件並重新運行(重復步驟 1)

  3. 對校准滿意后,從最佳參數集設置驗證運行

  4. 校准/驗證全部完成后,為設計運行設置文件:即。 情景A、情景B、情景C

  5. 哎呀,你忘了在場景 C 中輸出一些關鍵的東西,所以你必須做一個小改動,然后重新運行模擬

當前的做法是將每個連續運行重命名為 001、002 等。這使得“最佳”校准可能不是最高運行編號時變得不清楚,即。 你測試了更多的東西,但它們不一定能改進。 或者,當您需要在最新場景模擬的結果之間進行比較時,這會令人困惑,並且場景 A 和 B 都是 001,而場景 C 是 002。

理想情況下,版本控制系統能夠記錄每個連續的提交並顯示與舊版本的比較。 一個獎勵是能夠跟蹤分支中的“最佳”版本,即。 迄今為止最好的校准模擬,並且能夠快速恢復到該版本。

其次,系統需要允許從現有文件的給定版本的模板創建新文件。 IE。 在為場景模擬 AB 和 C 創建文件時,從最新校准/驗證設置的副本開始,然后進行更改以定義不同的場景(不同的模擬時間、不同的幾何形狀等)並提交這些場景 -然后能夠在場景之間進行快速比較,並查看它們都有哪些版本。

第三,可能會破壞許多系統的可能用途的最后一個功能是能夠在任何時候在一個文件夾中檢出多個版本的文件。 IE。 在周末之前,我可能會設置 10 個參數略有不同的模擬,並批量運行它們,以便在星期一早上我可以選擇最好的,然后將樹折疊到當前最好的一個。

理想情況下,這將有一個很好的 GUI(想想 Windows 的 github),它可以查看任何文件的最近更改,並單獨提交一個文件更改,最重要的是將單個文件單獨還原到以前的版本。 我只想在文件夾中隨時保留所需的校准、驗證、場景 A、B 和 C 文件,但可以選擇檢出其中一個的多個版本,並在稍后折疊這些文件。

環顧網上表明不存在這樣的利基系統,我不反對自己創造一些東西。 但是有沒有人對現有系統(Git?)有很好的工作,它可能涵蓋我的全部或至少大部分需求? 或者也許我可以開始使用任何在線工具並以某種形式一起破解? 或者最重要的是,一個涵蓋了很多東西的神奇系統......

理想情況下,版本控制系統將能夠記錄每個連續提交並顯示與舊版本的比較

任何VCS 都將其作為基本功能

一個獎勵是能夠跟蹤分支中的“最佳”版本

書簽/標簽/標簽(同一任務在不同 VCS 中的不同名稱“特別標記歷史上的某個點”)

其次,系統需要允許從現有文件的給定版本的模板創建新文件

再次分支 - 大多數(所有?)VCS 的核心

最后一個可能會破壞許多系統可能用途的功能是能夠在任何時候在一個文件夾中檢出多個版本的文件。

你怎么想象這個? 對於此路徑, Folder1/FileA必須是唯一的,對於任何操作系統和|或 FS,它必須是Folder2/FileA ... FolderN/FileAFolder1/FileA1 ... Folder1/FileAN

無論如何,“一些不同版本的工作目錄簽入其中”對於任何 VCS 來說也不是一個大問題(只有實現的細節可能因性質不同而有所不同)


好吧,根據上面的說明,您可以使用現有的 VCS,以及幾乎所有的 VCS(在某些情況下,漂亮的 GUI 可能只會消除一些,例如 Windows 上的 Git)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM