在工作中,我使用git作爲版本控制系統和Dymola進行建模和仿真。使用Git和Dymola/Modelica進行版本控制
我遇到的一個主要問題是,一旦我觸摸或錯誤地在圖表中移動連接(更確切地說連接線的一部分的位置)而不改變任何參數 - 這通常在討論或通過顯示來解釋時發生該圖給同事git認爲這是文件中的版本更改或更改。至少有真正的變化是一些自動生成的Modelica的註釋,例如:
connect(TT_1.T, Controller.y[1]) annotation (Line(
points={{48,-20},{48,40},{-22.5,40},{-22.5,29.25}},
color={0,0,127},
smooth=Smooth.None));
改變(比較二號線)
connect(TT_1.T, Controller.y[1]) annotation (Line(
points={{48,-20},{48,38},{-22.5,38},{-22.5,29.25}},
color={0,0,127},
smooth=Smooth.None));
我的問題,因此是: 我怎樣才能防止這種在任何一方的代碼中不必要的「改變」:git還是Dymola?
好吧,它是一個版本變化,因爲.mo文本文件發生了變化,所以我不認爲你可以在git方面對此做任何事情(除非用git來取消修改,如果它們是唯一的話) 。 – Christoph
@Christoph我期待着這一點,我也想知道是否有可能以某種方式「忽略」這種變化。但如何用git撤銷更改?我的意思是在提交之前有可能嗎?也許這可能是答案或至少是其中的一部分! – Medi1Saif
我想說你的模型的連接,佈局和圖形也應該是你的模型設計的一部分,它們和物理一樣重要。它們可能不會影響你的物理,但它對理解模型非常有幫助,就像代碼中的註釋或命名約定一樣,我絕不會在git中忽略它。另外,如果你確實遇到過很多像這樣的問題,我認爲你可能沒有使用Modelica的繼承功能,因爲一旦設計了一個部分模型,你將無法更改其子圖形。 –