如何将推送到GitHub的Matlab文件自动更改文件扩展名?

时间:2011-05-25 07:17:04

标签: git matlab github

我已经开始使用Github来托管我的大部分代码,包括我的Matlab代码。事实证明,Github语法根据其扩展而不是文件内容突出显示代码。这对于Matlab m文件来说并不是那么好。它们被识别为Objective-C文件,也是.m,并且未正确识别/突出显示。如果它们具有.matlab扩展名,Github会突出显示Matlab m文件,但问题是Matlab似乎拒绝运行没有.m扩展名的文件。我无法提出解决方案,因为我希望我的matlab文件能够与Github和Matlab很好地配合使用。所以这里有几个问题:

  1. 有没有办法让所有.m文件在推送到Github时转换为.matlab扩展名?在从Github获取或克隆时,还需要将.matlab文件转换为.m扩展名吗?

  2. 如果无法实现1.有没有办法让Matlab运行扩展名为.matlab的文件?

  3. 如果是1或2,我会喜欢一些如何做到的提示或示例。

2 个答案:

答案 0 :(得分:3)

您可以使用git hooks在问题中执行第1点。如果查看.git/hooks/,您会找到一些可以使用的示例(不同文件的解释here)。基本上你需要做的就是添加一个post-receive钩子,它将文件从github上的.m重命名为.matlab以及一个post-fetch或post-pull hook(可能会稍微捏造我的术语)这里将它们重命名为.m个文件。

另外,请看一下关于SO的git hooks的一些相关问题:1234等等......

也就是说,我同意Alex的观点,更改存储库之间的扩展通常不是一个好主意,因为最终可能会破坏可能使用您脚本的其他人的代码。

答案 1 :(得分:1)

检查Github是否会尊重您的属性文件。如果是,则设置* .m的模式,并将approprtiate属性设置为ge右视图样式。

属性文件也是eol = LF的matlab LF规范化的地方(即使在Windows上)git-crlf-conversion-for-m-matlab-files