MATLAB中设置 Git 源代码管理
最佳答案 问答题库688位专家为你答疑解惑
目录
在 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 中的分支。
在 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。
在 Windows 上为 Git 配置 MATLAB
在 Windows 系统上,如果正在处理具有长路径的文件,请启用对长路径的支持。此外,要将 Git Hook 与 MATLAB 结合使用,请安装 Cygwin 并将其添加到 MATLAB 库路径中。Git Hook 是自定义脚本,可由提交、合并和接收推送提交等操作触发。
启用对长路径的支持(推荐)
要在 Windows 系统上启用对长路径的支持,请在 MATLAB 中运行以下命令:
!git config --global core.longpaths true
安装 Cygwin(可选)
要在 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。
将 MATLAB 配置为使用 Git SSH 验证
为了防止因使用 HTTPS 与远程存储库交互而频繁出现登录提示,请添加新的公钥,转为使用 SSH 克隆存储库。下表提供有关如何根据您的操作系统配置 MATLAB 以使用 SSH 验证的说明。
-
安装命令行 Git 客户端,并使其在系统范围内可用。要检查是否安装了 Git,请在 MATLAB 命令行窗口中输入命令 !git。如果该命令不返回任何内容,需要安装命令行 Git。
-
关闭所有 MATLAB 会话。
-
使用 ssh-keygen 命令生成 SSH 密钥。例如,在 Windows 命令提示符下,输入以下命令:
ssh-keygen提示确认保存密钥的位置,并询问密码短语。如果不想在使用密钥时键入密码,请将密码短语留空。ssh-keygen -t ed25519 -C "your_email@example.com"
如果在指定的文件夹中已有密钥,ssh-keygen 会询问是否覆盖它们。
在 R2021a 之前,指定 -m PEM 选项以生成 RSA 格式的 SSH 密钥。否则,ssh-keygen 会使用默认 OpenSSH 格式创建 SSH 密钥,这在 R2021a 之前的 MATLAB 版本中不受支持。例如,在 Windows 命令提示符下,输入以下命令:
如果在未指定 -m PEM 选项的情况下生成 SSH 密钥,可以使用此命令将密钥转换为受支持的 RSA 格式,其中 ~/.ssh/id_rsa 是 SSH 密钥文件的名称。ssh-keygen -m PEM
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
-
将密钥放在 USERPROFILE/.ssh 或 HOME/.ssh 文件夹中。要验证 MATLAB 正在使用哪个 USERPROFILE 文件夹,请在 MATLAB 命令行窗口中输入:
getenv('USERPROFILE')
在 R2021a 之前,如果使用 -m PEM 选项创建 SSH 密钥,则可以跳过步骤 5。
-
要确保 MATLAB 检测到 SSH 密钥,请在 MATLAB 命令行窗口中输入:
git = settings().matlab.sourcecontrol.git; git.PrivateKeyFile.PersonalValue = "C:\Users\username\.ssh\id_ed25519"; git.PublicKeyFile.PersonalValue = "C:\Users\username\.ssh\id_ed25519.pub";
如果在生成 SSH 密钥时输入了密码短语,请将 MATLAB 配置为使用该密码短语,并在每个会话中只接收一次提示。为此,请使用 Pageant,或在 MATLAB 命令行窗口中输入:
git.KeyHasPassphrase.PersonalValue = true;
要使用多个密钥,请使用 Pageant 作为 SSH 代理。如果 Pageant 正在运行,则 MATLAB 在 Pageant 中查找密钥,然后在 USERPROFILE/.ssh 中查找。
-
将GitHub® 或 GitLab® 帐户配置为使用 SSH 密钥。要完成这一配置,请转至 .ssh 文件夹,复制 .pub 文件的内容。然后,转至帐户设置,在 SSH Keys 部分中,将.pub文件的内容粘贴到 Add SSH key 字段中。
-
关闭所有 MATLAB 会话。
-
使用 ssh-keygen 命令生成 SSH 密钥。例如,在终端窗口中,输入以下命令:
ssh-keygen提示确认保存密钥的位置,并询问密码短语。如果不想在使用密钥时键入密码,请将密码短语留空。ssh-keygen -t ed25519 -C "your_email@example.com"
如果在指定的文件夹中已有密钥,ssh-keygen 会询问是否覆盖它们。
在 R2021a 之前,指定 -m PEM 选项以生成 RSA 格式的 SSH 密钥。否则,ssh-keygen 会使用默认 OpenSSH 格式创建 SSH 密钥,这在 R2021a 之前的 MATLAB 版本中不受支持。例如,在终端窗口中,输入以下命令:
如果在未指定 -m PEM 选项的情况下生成 SSH 密钥,可以使用此命令将密钥转换为受支持的 RSA 格式,其中 ~/.ssh/id_rsa 是 SSH 密钥文件的名称。ssh-keygen -m PEM
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
-
将密钥放在 HOME/.ssh 文件夹中。要验证 MATLAB 正在使用哪个 HOME 文件夹,请在 MATLAB 命令行窗口中输入:
getenv('HOME')
在 R2021a 之前,如果使用 -m PEM 选项创建 SSH 密钥,则可以跳过步骤 4。
-
要确保 MATLAB 检测到 SSH 密钥,请在 MATLAB 命令行窗口中输入:
git = settings().matlab.sourcecontrol.git; git.PrivateKeyFile.PersonalValue = "~/.ssh/id_ed25519"; git.PublicKeyFile.PersonalValue = "~/.ssh/id_ed25519.pub";
如果在生成 SSH 密钥时输入了密码短语,请将 MATLAB 配置为使用该密码短语,并在每个会话中只接收一次提示。为此,请使用 SSH 代理,或在 MATLAB 命令行窗口中输入:
git.KeyHasPassphrase.PersonalValue = true;
要使用多个密钥,请使用 SSH 代理。如果 SSH 代理正在运行,MATLAB 会在代理中查找密钥,然后在 HOME/.ssh 中查找。
-
将GitHub 或 GitLab 帐户配置为使用 SSH 密钥。要完成这一配置,请转至 .ssh 文件夹,复制 .pub 文件的内容。然后,转至帐户设置,在 SSH Keys 部分中,将 .pub 文件的内容粘贴到 Add SSH key 字段中。
安装 Git 凭据助手
要将 MATLAB 配置为在使用 Git 时记住用户名和密码,请安装凭据助手。推荐使用适用于所有平台的凭据助手 Git Credential Manager Core。
例如,要在 Windows 系统上安装 Git Credential Manager Core,按照安装命令行 Git 客户端 中所述的说明下载并运行 Git for Windows 安装程序。在安装程序的 Choose a credential helper 部分中,选择 Git Credential Manager Core 作为凭据助手。
要删除 Git 存储库的已保存登录信息,请按照基于您的操作系统的说明进行操作。
要重置存储库的 Git 凭据,请在凭据管理器的 Windows 凭据选项卡中,删除普通凭据下的条目。
Linux 和 macOS要重置存储库的 Git 凭据,请输入:
echo "url=https://github.com/myrepo.git" | git credential reject
对 Simulink 模型禁用压缩
可以无压缩保存 Simulink 模型以减小 Git 存储库的大小。关闭压缩会导致磁盘上的 SLX 文件变大,但可以减小存储库的大小。
要对新 SLX 文件使用此设置,请在“SLX 压缩”设置为无的状态下使用模型模板创建模型。对于现有 SLX 文件,请设置压缩,然后保存模型。
配置 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 选项。
MATLAB 不支持 Git LFS 锁定。此外,MATLAB 不支持 LFS 命令,如 git lfs track。请改用 !git lfs track。
注意
Git LFS 使用 Git Hooks。确保您已安装了 Cygwin。
将 Git 配置为使用 MATLAB 进行差异分析和合并
可以将 Git 配置为使用 MATLAB 比较工具进行差异分析和合并。MATLAB 比较工具提供用于合并 MathWorks® 文件(例如 live scripts、MAT、SLX 或 MDL 文件)的工具。可以将自动合并工具与 Git 结合使用,以自动将包含不同子系统中更改的分支合并在同一 SLX 文件中。
安装命令行 Git 客户端
要使用 Git LFS 或凭据助手,必须安装命令行 Git 客户端,并使其在系统范围内可用。在 R2020b 之前,必须安装命令行 Git 客户端,才能使用 Git 合并 MATLAB 中的分支。
要检查是否安装了 Git,请在 MATLAB 命令行窗口中输入命令 !git。如果该命令不返回任何内容,需要安装命令行 Git。下表提供如何根据操作系统安装命令行 Git 的说明。
-
从 Git for Windows 下载并运行安装程序。
-
在 Adjusting your PATH environment 部分,选择安装选项 Git from the command line and also from 3rd-party software。此选项将 Git 添加到PATH变量中,并使其在系统范围内可用,以便 MATLAB 可以与 Git 通信。
-
在配置换行符转换部分中,选择 Checkout Windows-style, commit Unix-style line endings 选项。换行符格式在计算机和用户之间是不强制一致的,但可以在每个存储库的 .gitattributes 文件中支持一致的文本文件换行符。
-
重新启动系统以使更改生效。
在大多数发行版中都可以使用 Git。安装适用于您的发行版的 Git。例如,在 Debian® 上,通过输入以下命令即可安装 Git:
sudo apt-get install git
macOS在 Mavericks (10.9) 或更高版本上,从终端窗口运行 Git。如果尚未安装 Git,系统将提示您安装 Xcode 命令行工具。
99%的人还看了
相似问题
- 生物医药行业密钥管理系统特点 安当加密
- 对称密钥加密与非对称密钥加密:原理与应用
- 手握“发展密钥”,TCL科技或迎价值重估?
- 支付卡行业(PCI)PIN安全要求和测试程序 7个控制目标、33个要求及规范性附录ABC 密钥注入-PCI认证-安全行业基础篇4
- 密钥管理系统功能及作用简介 安当加密
- 【详细教程】关于如何使用GitGitHub的基本操作汇总GitHub的密钥配置 ->(个人学习记录笔记)
- bitlocker 加密锁定的固态硬盘,更换到别的电脑上,怎么把原密钥写进新电脑TPM芯片内,开启无需手动填密钥
- 区块链物联网中基于属性的私有数据共享与脚本驱动的可编程密文和分散密钥管理
- 密码应用安全管理体系制度之密钥管理办法
- HTTPS双向认证及密钥总结
猜你感兴趣
版权申明
本文"MATLAB中设置 Git 源代码管理":http://eshow365.cn/6-31881-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: react_13
- 下一篇: 国内某发动机制造工厂RFID智能制造应用解决方案