设置 Git 源代码管理
您可以使用 MATLAB® 中的 Git™ 源代码管理来管理您的文件并与其他人协作。使用 Git,您可以跟踪对文件的更改,并在以后重新调用特定版本。有关详细信息,请参阅Track Work Locally with Git in MATLAB和Collaborate Using Git in MATLAB。
在使用 Git 之前,请按照以下步骤为 MATLAB 进行设置:
(所有系统都需要)用 Git 注册您的二进制文件以避免文件损坏。有关详细信息,请参阅在 Git 中注册二进制文件。
(推荐用于 Windows® 系统)在 Windows 系统上为 Git 启用长路径支持。有关详细信息,请参阅启用对长路径的支持。
(推荐用于所有系统)配置 MATLAB 以自动合并模型文件。有关详细信息,请参阅Automatically Merge Models Locally and in CI Pipeline (Simulink)。
(可选)配置 MATLAB 以对提交进行签名。有关详细信息,请参阅 启用对提交进行签名。
(可选)将 MATLAB 配置为使用 Git SSH 身份验证或安装 Git 凭据助手,以防止频繁的登录提示。有关详细信息,请参阅将 MATLAB 配置为使用 Git SSH 验证。
(可选)配置 MATLAB 以管理 Git 凭据。有关详细信息,请参阅管理 Git 凭据。
(可选)如果您正在处理大型文件,请将 Git 配置为使用 Git LFS。有关详细信息,请参阅配置 Git 以使用 Git LFS。
(可选)将外部 Git 工具配置为使用 MATLAB 进行差异分析和合并。有关详细信息,请参阅自定义外部源代码管理以使用 MATLAB 执行差异分析和合并。
从 R2024a 开始,您可以从 MATLAB 中运行 Git 钩子。支持的钩子有 pre-commit、commit-msg、post-commit、prepare-commit-msg、pre-push、pre-merge-commit、post-checkout 和 post-merge。有关示例,请参阅Use Git Hooks in MATLAB。
在 Git 中注册二进制文件
如果您使用第三方源代码管理工具,则必须将 .mlx、.mat、.fig、.mlapp、.mdl、.slx、.mdlp、.slxp、.sldd 和 .p 等 MATLAB 和 Simulink® 文件扩展名注册为二进制格式。还要注册 MEX 文件的扩展名,例如 .mexa64、.mexmaci64、.mexmaca64 和 .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 文件并填充其内容。
将
* text=auto添加到.gitattributes文件的顶部。对于每个二进制文件扩展名
ext,添加*.。例如,extbinary*.mlapp binary。
启用对长路径的支持
按照以下步骤进行操作以在 Windows 系统上启用对长路径的支持。
在主页选项卡的环境部分,点击设置。选择 MATLAB > 源代码管理 > Git。
在 Windows 部分中,选择启用对长路径的支持。这样做会在您的全局 Git 配置文件中将
core.longpaths的值设置为true。
有关详细信息,请参阅Configure Git Settings。
启用对提交进行签名
通过按照以下步骤进行操作,配置源代码管理设置以使 MATLAB 能够自动对 Git 提交进行签名。当 MATLAB 验证提交签名时,绿色验证图标
会出现在分支管理器和 MATLAB 编辑器中的行注解中您的头像和用户名旁边。
在主页选项卡的环境部分,点击设置。选择 MATLAB > 源代码管理 > Git。
在提交签名部分中,设置签名密钥、签名密钥格式和签名程序。有关详细信息,请参阅Configure Git Settings。
将 MATLAB 配置为使用 Git SSH 验证
为了防止因使用 HTTPS 与远程存储库交互而频繁出现登录提示,请添加新的公钥,转为使用 SSH 克隆存储库。按照以下步骤进行操作来配置 MATLAB 以使用 SSH 身份验证。
使用
ssh-keygen命令生成 SSH 密钥。例如,在命令提示符下,输入以下命令:ssh-keygen -t ed25519 -C "your_email@example.com"
ssh-keygen提示您确认保存密钥的位置,并询问密码短语。如果您不想在使用密钥时键入密码,请将密码短语留空。如果您在指定的文件夹中已有密钥,
ssh-keygen会询问您是否覆盖它们。在 MATLAB 中设置 SSH 密钥的使用。在主页选项卡的环境部分,点击设置。选择 MATLAB > 源代码管理 > Git。然后,配置您的设置。
在 SSH 部分中,选择启用 SSH(如果未启用)。
默认情况下,MATLAB 在 SSH 代理中寻找密钥。在 Windows 上,使用 OpenSSH 作为 SSH 代理。有关详细信息,请参阅 Windows 上 OpenSSH 中基于密钥的身份验证。
使用 SSH 代理使您能够存储和使用多个密钥。
如果您未使用 SSH 代理存储密钥,则可以手动输入它们。清除使用 SSH 代理复选框。然后,在公钥文件和私钥文件中指定公钥和私钥文件的路径。有关详细信息,请参阅Configure Git Settings。
要启用使用密码短语并在每个会话中收到一次提示,请选择密钥受密码短语保护。
将您的 GitHub® 或 GitLab® 帐户配置为使用 SSH 密钥。要完成这一配置,请转至
.ssh文件夹,复制.pub文件的内容。然后,转至您的帐户设置,在 SSH Keys 部分中,将.pub文件的内容粘贴到 Add SSH key 字段中。
管理 Git 凭据
默认情况下,当您与 Git 存储库交互时,MATLAB 会记住您的用户名和令牌。要更改默认凭据预设项,请在主页选项卡的环境部分中,点击设置。选择 MATLAB > 源代码管理 > Git。在凭据部分中,选择可用的选项之一。有关详细信息,请参阅Configure Git Settings。
您也可以安装外部 Git 凭据助手,并配置 MATLAB 来改用它。推荐使用适用于所有平台的凭据助手 Git Credential Manager Core。有关详细信息,请参阅其他设置中的“配置 MATLAB 以使用 Git 凭据助手”。
要删除已保存的 Git 存储库的登录信息,请在 MATLAB 中输入:
matlab.git.clearCredential("https://github.com/myrepo.git")配置 Git 以使用 Git LFS
如果您正在处理大文件,请通过安装命令行 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 选项。
其他设置
要使用 Git LFS 或凭据助手,您必须安装命令行 Git 客户端,并使其在系统范围内可用。
当您与 Git 存储库交互时,MATLAB 会记住您的用户名和令牌。您可以改用外部 Git 凭据助手来存储您的 Git 凭据。Git Credential Manager Core 推荐的适用于所有平台的凭据助手。
