目录
在 Git 中注册二进制文件
在 Windows 上为 Git 配置 MATLAB
启用对长路径的支持(推荐)
安装 Cygwin(可选)
将 MATLAB 配置为使用 Git SSH 验证
安装 Git 凭据助手
对 Simulink 模型禁用压缩
配置 Git 以使用 Git LFS
将 Git 配置为使用 MATLAB 进行差异分析和合并
安装命令行 Git 客户端
可以使用 MATLAB® 中的 Git™ 源代码管理来管理文件并与其他人协作。使用 Git,可以跟踪对文件的更改,并在以后重新调用特定版本。
在使用 Git 之前,请按照以下步骤为 MATLAB 进行设置:
用 Git 注册您的二进制文件以避免文件损坏。(所有系统都需要)
在 Windows® 系统上为 Git 配置 MATLAB。(推荐用于 Windows 系统)
将 MATLAB 配置为使用 Git SSH 身份验证或安装 Git 凭据助手,以防止频繁的登录提示。(可选)
禁用 Simulink® 模型的压缩,以减小 Git 存储库的大小。(可选)
如果正在处理大型文件,请将 Git 配置为使用 Git LFS。(可选)
将 Git 配置为使用 MATLAB 进行差异分析和合并。(可选)
在 R2020b 之前,必须安装命令行 Git 客户端,才能使用 Git 合并 MATLAB 中的分支。
如果使用第三方源代码管理工具,则必须将 .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。
在 Windows 系统上,如果正在处理具有长路径的文件,请启用对长路径的支持。此外,要将 Git Hook 与 MATLAB 结合使用,请安装 Cygwin 并将其添加到 MATLAB 库路径中。Git Hook 是自定义脚本,可由提交、合并和接收推送提交等操作触发。
要在 Windows 系统上启用对长路径的支持,请在 MATLAB 中运行以下命令:
!git config --global core.longpaths true
要在 Windows 系统上安装 Cygwin 并将其添加到 MATLAB 库路径,请执行以下操作:
从 Cygwin 下载并运行安装程序。
在 MATLAB 中,打开 librarypath.txt。
edit(fullfile(matlabroot,"toolbox","local","librarypath.txt"))
将 Cygwin bin 文件夹位置添加到 librarypath.txt 的末尾,例如 C:\cygwin64\bin。
##
## FILE: librarypath.txt
##
## Entries:
## o path_to_jnifile
## o [alpha,glnx86,sol2,unix,win32,mac]=path_to_jnifile
## o $matlabroot/path_to_jnifile
## o $jre_home/path_to_jnifile
##
$matlabroot/bin/$arch
$matlabroot/sys/jxbrowser/$arch/lib
C:\cygwin64\bin
如果没有权限编辑 librarypath.txt 文件,可以参考Locate Native Method Libraries。
重新启动 MATLAB。
为了防止因使用 HTTPS 与远程存储库交互而频繁出现登录提示,请添加新的公钥,转为使用 SSH 克隆存储库。下表提供有关如何根据您的操作系统配置 MATLAB 以使用 SSH 验证的说明。
操作系统 | 说明 |
---|---|
Windows |
|
Linux® 和 macOS |
|
要将 MATLAB 配置为在使用 Git 时记住用户名和密码,请安装凭据助手。推荐使用适用于所有平台的凭据助手 Git Credential Manager Core。
例如,要在 Windows 系统上安装 Git Credential Manager Core,按照安装命令行 Git 客户端 中所述的说明下载并运行 Git for Windows 安装程序。在安装程序的 Choose a credential helper 部分中,选择 Git Credential Manager Core 作为凭据助手。
要删除 Git 存储库的已保存登录信息,请按照基于您的操作系统的说明进行操作。
操作系统 | 说明 |
---|---|
Windows | 要重置存储库的 Git 凭据,请在凭据管理器的 Windows 凭据选项卡中,删除普通凭据下的条目。 |
Linux 和 macOS | 要重置存储库的 Git 凭据,请输入: echo "url=https://github.com/myrepo.git" | git credential reject |
可以无压缩保存 Simulink 模型以减小 Git 存储库的大小。关闭压缩会导致磁盘上的 SLX 文件变大,但可以减小存储库的大小。
要对新 SLX 文件使用此设置,请在“SLX 压缩”设置为无的状态下使用模型模板创建模型。对于现有 SLX 文件,请设置压缩,然后保存模型。
如果正在处理大文件,请通过安装命令行 Git 并设置 LFS,将 Git 配置为使用 Git 大文件存储 (LFS)。
例如,要在 Windows 系统上使用 Git LFS,按照安装命令行 Git 客户端 中所述的说明下载并运行 Git for Windows 安装程序。在 Git for Windows 安装程序的 Select Components 部分中,选择 Git LFS (Large File Support) 和 Associate .sh files to be run with Bash 选项。
MATLAB 不支持 Git LFS 锁定。此外,MATLAB 不支持 LFS 命令,如 git lfs track。请改用 !git lfs track。
注意
Git LFS 使用 Git Hooks。确保您已安装了 Cygwin。
可以将 Git 配置为使用 MATLAB 比较工具进行差异分析和合并。MATLAB 比较工具提供用于合并 MathWorks® 文件(例如 live scripts、MAT、SLX 或 MDL 文件)的工具。可以将自动合并工具与 Git 结合使用,以自动将包含不同子系统中更改的分支合并在同一 SLX 文件中。
要使用 Git LFS 或凭据助手,必须安装命令行 Git 客户端,并使其在系统范围内可用。在 R2020b 之前,必须安装命令行 Git 客户端,才能使用 Git 合并 MATLAB 中的分支。
要检查是否安装了 Git,请在 MATLAB 命令行窗口中输入命令 !git。如果该命令不返回任何内容,需要安装命令行 Git。下表提供如何根据操作系统安装命令行 Git 的说明。
操作系统 | 说明 |
---|---|
Windows |
|
Linux | 在大多数发行版中都可以使用 Git。安装适用于您的发行版的 Git。例如,在 Debian® 上,通过输入以下命令即可安装 Git: |
macOS | 在 Mavericks (10.9) 或更高版本上,从终端窗口运行 Git。如果尚未安装 Git,系统将提示您安装 Xcode 命令行工具。 |