在工作中,我使用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的继承功能,因为一旦设计了一个部分模型,你将无法更改其子图形。 –