matlab使用git管理代码
设置 Git 源代码管理 - MATLAB & Simulink - MathWorks 中国
在 R2020b 之前,必须安装命令行 Git 客户端,才能使用 Git 合并 MATLAB 中的分支。有关详细信息,请参阅安装命令行 Git 客户端。
1.在 Git 中注册二进制文件
如果您使用第三方源代码管理工具,则必须.mlx
、.mat
、.fig
、.mlapp
、.mdl
、.slx
、.mdlp
、.slxp
、.sldd
和 .p
等 MATLAB 和 Simulink 文件扩展名注册为二进制格式。还要注册 MEX 文件的扩展名,例如 .mexa64
、.mexmaci64
和 .mexw64
。如果不注册这些扩展名,则当您通过更改行尾字符、扩展标记、替换关键字或尝试自动合并来提交文件时,这些工具可能会损坏您的文件。不论您是在 MATLAB 外部使用该源代码管理工具,还是在未先注册文件格式的前提下尝试从 MATLAB 提交文件,都可能发生损坏。
还要检查其他文件扩展名是否已注册为二进制文件,以避免在签入时损坏。检查并注册文件扩展名,例如.xlsx
、.jpg
、.pdf
、.docx
等。
要用 Git 注册二进制文件扩展名,请将它们添加到 .gitattributes
文件中。如果您创建一个使用 Git 源代码管理的新工程,或将现有工程从另一个源代码管理系统切换到 Git 源代码管理,MATLAB 会自动创建一个 .gitattributes
文件,并用要注册的通用二进制文件列表填充该文件。
如果没有自动创建 .gitattributes
文件,您可以创建一个包含要注册的通用二进制文件列表的文件。在 MATLAB 命令行窗口中,输入:
copyfile(fullfile(matlabroot,'toolbox','shared','cmlink','git','auxiliary_files', ...
'mwgitattributes'),fullfile(pwd,'.gitattributes'))
或者,要创建空白 .gitattributes
文件,请输入:
edit .gitattributes
要注册尚未包含在 .gitattributes
文件中的二进制文件,请为所需的每种文件类型添加一行。例如,*.mlapp binary
。
*.fig binary
*.mat binary
*.mdl binary
*.mdlp binary
*.mexa64 binary
*.mexw64 binary
*.mexmaci64 binary
*.mlapp binary
*.mldatx binary
*.mlproj binary
*.mlx binary
*.p binary
*.sfx binary
*.sldd binary
*.slreqx binary
*.slmx binary
*.sltx binary
*.slxc binary
*.slx binary merge=mlAutoMerge
*.slxp binary
## Other common binary file types
*.docx binary
*.exe binary
*.jpg binary
*.pdf binary
*.png binary
*.xlsx binary
2.在 Windows 上为 Git 配置 MATLAB
在 Windows 系统上,如果您正在处理具有长路径的文件,请启用对长路径的支持。此外,要将 Git Hook 与 MATLAB 结合使用,请安装 Cygwin 并将其添加到 MATLAB 库路径中。Git Hook 是自定义脚本,可由提交、合并和接收推送提交等操作触发。
1.启用对长路径的支持(推荐)
要在 Windows 系统上启用对长路径的支持,请在 MATLAB 中运行以下命令:
!git config --global core.longpaths true
2.使用git bash终端
因为我采用了知乎上的一个博主的(Matlab与Github代码管理入门版及代码上传 - 知乎 (zhihu.com))没有成功,老是报错,后面我就跑到终端来运行了,结果成功了,大家可以各自进行尝试。
第一步: 进入到已存在的目录 cd (/file) 第二步: 初始化 git init 第三步: 添加远程仓库地址 git remote add origin (address) 第四步: 添加本地代码 git add . 第五步: 提交本地代码 git commit -m "init" 第六步: 提交到远程仓库 git push origin master
ps:后面我发现用git与远程仓库建立连接后,直接在matlab中也可以进行代码管理(这就很迷),当然在matlab上操作也更加方便(毕竟是图形界面)。
直接在空白处右键,选择源代码管理即可: