将GitHub与MATLAB R2014b一起使用

时间:2014-10-31 14:28:52

标签: git matlab github

如您所知,我们有source control in MATLAB R2014b。我想在Matlab R2014b中使用GitHub。在MATLAB中,有Git的手册。第三方源控制工具的说明指出:

  

如果您使用第三方源代码管理工具,则必须注册   MATLAB和Simulink®文件扩展名,例如.mat,.mdl和.slx   二进制格式。如果您没有注册扩展,这些工具可以   通过更改行尾提交文件时损坏您的文件   字符,扩展标记,替换关键字或尝试   automerge。无论您使用源代码管理,都可能发生损坏   MATLAB之外的工具,或者如果您尝试从MATLAB提交文件   无需先注册文件格式。

我该怎么做?在MATLAB中,我们应该设置“repository”和“sandbox”。如何在GitHub上设置这些(特别是“沙盒”)?我应该用MATLAB或GitHub创建存储库?如何将存储库链接到第二个存储库?

MATLAB中的'Sandbox'与GitHub中的'Clone'相同吗?

2 个答案:

答案 0 :(得分:5)

此图片演示了Git在MATLAB中的工作流程。

Git workflow for MATLAB

如您所见,您将在本地目录中工作,这是您的Sandbox。从那里,您将能够提交对本地存储库的更改。然后可以将它们推送到远程存储库,例如GitHub的。

您可以选择clone远程Git存储库或create a new one

我建议您在GitHub上创建一个新的存储库,然后使用clone链接从MATLAB中创建本地存储库。这会将空存储库克隆到您的工作目录中。此本地副本称为沙箱。您可以开始使用这些文件并进行修改。一旦达到某个里程碑,您就可以将更改提交到本地存储库。然后,它将位于远程存储库(GitHub)之前。然后,您可以将这些提交推送到远程存储库(或者将其他人提交的其他提交提取到远程存储库)。

在您添加了存储库之后,首先需要注册二进制文件; 在您的存储库中创建一个gitattributes文件并添加以下内容;

*.mat -crlf -diff -merge
*.p -crlf -diff -merge
*.slx -crlf -diff -merge
*.mdl -crlf -diff -merge

这些行指定不对这些类型的文件尝试自动换行,差异和合并尝试。

您还可以检查您使用的其他文件类型,您还需要注册为二进制文件,以避免在办理登机手续时出现损坏。检查.mdlp,.slxp,MEX文件(.mexa64,.mexmaci64,.mexw32,.mexw64),。xlsx,.jpg,.pdf,.docx等文件。在属性文件中添加一行您需要的每种文件类型;

*.mdlp -crlf -diff -merge
*.slxp -crlf -diff -merge
*.sldd -crlf -diff -merge
*.mexa64 -crlf -diff -merge
*.mexw32 -crlf -diff -merge
*.mexw64 -crlf -diff -merge
*.mexmaci64 -crlf -diff -merge
*.xlsx -crlf -diff -merge
*.docx -crlf -diff -merge
*.pdf -crlf -diff -merge
*.jpg -crlf -diff -merge
*.png -crlf -diff -merge

您可以在此处找到更多信息:http://www.mathworks.nl/help/matlab/matlab_prog/set-up-git-source-control.html

之后,您可以将文件标记为additioncommit修改到本地存储库。如果您愿意,还可以push and fetch到远程存储库。

请注意,如果您想合并分支机构,则需要安装命令行Git客户端(如果您还没有)。

答案 1 :(得分:2)

.gitattributes文件中明确指定这些文件为二进制文件:

.gitattributes

# MATLAB/Simulink binary formats
*.mat  binary
*.mdl  binary
*.slx  binary
# etc..