设置Git源控制
您可以在MATLAB中使用Git™源代码控制®管理您的文件并与他人协作。使用Git,您可以跟踪文件的更改,并在以后恢复特定版本。有关更多信息,请参见克隆Git存储库而且将项目添加到源代码控制中.
在使用Git之前,按照以下步骤为MATLAB设置Git:
用Git注册二进制文件,以避免文件损坏。(所有系统都需要)
在Windows上配置MATLAB for Git®系统。(建议适用于Windows系统)
配置MATLAB使用Git SSH身份验证,或安装Git凭据帮助程序,以防止频繁的登录提示。(可选)
禁用Simulink压缩功能®模型来减少Git存储库的大小。(可选)
如果要处理大文件,请配置Git使用Git LFS。(可选)
配置Git使用MATLAB进行Diff和Merge。(可选)
在R2020b之前,必须安装一个命令行Git客户机来使用Git合并MATLAB中的分支。有关更多信息,请参见安装命令行Git客户端.
用注册二进制文件Git
如果您使用第三方源代码控制工具,您必须注册您的MATLAB和Simulink文件扩展名,例如.mlx
,.mat
,.fig
,.mlapp
,. mdl
,.slx
,.mdlp
,.slxp
,.sldd
,每分钟
作为二进制格式。还要为MEX文件注册扩展名,例如.mexa64
,.mexmaci64
,.mexw64
.如果不注册扩展名,这些工具在提交文件时可能会通过更改行尾字符、扩展令牌、替换关键字或试图自动合并来破坏文件。如果您使用MATLAB之外的源代码控制工具,或者如果您尝试从MATLAB提交文件而没有先注册您的文件格式,就会发生损坏。
还要检查其他文件扩展名是否注册为二进制文件,以避免签入时损坏。检查并注册文件扩展名,例如.xlsx
,jpg
,. pdf
,。docx
,等等。
要在Git中注册二进制文件扩展名,请将它们添加到.gitattributes
文件。如果您创建一个使用Git源代码控制的新项目,或者将一个现有的项目从另一个源代码控制系统切换到Git源代码控制系统,MATLAB会自动创建一个.gitattributes
文件,并用要注册的常用二进制文件列表填充它。
如果一个.gitattributes
文件不会自动创建,您可以创建一个包含要注册的常用二进制文件列表的文件。在MATLAB命令窗口中,输入:
拷贝文件(fullfile (matlabroot,“工具箱”,“共享”,“cmlink”,“git”,“auxiliary_files”,...“mwgitattributes”), fullfile (pwd,“.gitattributes”))
或者,创建空白.gitattributes
文件,输入:
编辑.gitattributes
控件中尚未包含的二进制文件.gitattributes
文件,为所需的每个文件类型在文件中添加一行。例如,*.mlapp二进制
.
配置MATLAB为Git在窗户
在Windows系统上,如果您正在处理具有长路径的文件,请启用对长路径的支持。此外,要在MATLAB中使用Git钩子,请安装Cygwin并将其添加到MATLAB库路径中。Git钩子是定制脚本,可以由提交、合并和接收推送提交等操作触发。
启用长路径支持(推荐)
要在Windows系统上启用对长路径的支持,在MATLAB中运行以下命令:
git配置全局内核。longpaths真实
安装Cygwin(可选)
在Windows系统上安装Cygwin并将其添加到MATLAB库路径:
下载并运行安装程序https://www.cygwin.com/.
在MATLAB中,打开
librarypath.txt
.编辑(fullfile (matlabroot,“工具箱”,“本地”,“librarypath.txt”))
的末尾添加Cygwin bin文件夹位置
librarypath.txt
例如,C: \ cygwin64 \ bin
.## ## FILE: librarypath.txt ## ##输入:## 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 .txt [alpha,glnx86,sol2,unix,win32,mac
如果您没有编辑的权限
librarypath.txt
文件的更多信息,请参考定位本机方法库.重启MATLAB。
配置MATLAB使用GitSSH身份验证
当您使用HTTPS与远程存储库交互时,为了防止频繁的登录提示,请添加一个新的公钥并使用SSH来克隆存储库。这个表提供了关于如何配置MATLAB以基于您的操作系统使用SSH身份验证的说明。
操作系统 | 指令 |
---|---|
窗户 |
|
Linux®而且macOS |
|
安装Git凭据助手
要配置MATLAB在使用Git时记住用户名和密码,请安装凭据帮助程序。对于所有平台,推荐的凭证帮助器是Git credential Manager Core。
例如,要在Windows系统上安装Git Credential Manager Core,请使用中描述的说明下载并运行Git For Windows安装程序安装命令行Git客户端.在选择凭据助手部分的安装程序,选择Git凭证管理器核心作为凭证助手。
要删除Git存储库中保存的登录信息,请根据您的操作系统进行操作。
操作系统 | 指令 |
---|---|
窗户 | 要重置存储库的Git凭据,请在凭据管理器中Windows凭据选项卡,删除下的项通用凭证. |
Linux和macOS | 要重置存储库的Git凭据,输入: Echo "url=https://github.com/myrepo.git" | git credential reject |
禁用压缩的动态仿真模块模型
你可以通过不压缩的保存Simulink模型来减少Git存储库的大小。关闭压缩会导致磁盘上的SLX文件变大,但会减小存储库的大小。
要在新的SLX文件中使用此设置,使用SLX Compression设置为none的模型模板创建模型。对于现有的SLX文件,设置压缩,然后保存模型。有关更多信息,请参见设置SLX压缩级别.
配置Git使用GitLFS
如果您正在处理大文件,请通过安装命令行Git并设置LFS来配置Git使用Git大文件存储(Git large File Storage, LFS)。
例如,要在Windows系统上使用Git LFS,请使用中描述的说明下载并运行Git For Windows安装程序安装命令行Git客户端.在选择组件部分的Git for Windows安装程序,选择Git LFS(大文件支持)而且将要运行的.sh文件与Bash关联选项。
MATLAB不支持Git LFS锁定。另外,MATLAB不支持LFS命令如git lfs跟踪
.使用! git lfs跟踪
代替。
请注意
Git LFS使用Git钩子。确保安装了Cygwin。有关更多信息,请参见在Windows上配置MATLAB for Git.
配置Git使用MATLABDiff和Merge
您可以配置Git使用MATLAB比较工具进行差异和合并。MATLAB比较工具提供了合并MathWorks的工具®文件,如实时脚本、MAT、SLX或MDL文件。您可以在Git中使用自动合并工具来自动合并包含不同子系统中相同SLX文件中的更改的分支。
有关如何配置Git以使用MATLAB比较工具的更多信息,请参见自定义外部源控制使用MATLAB进行差异和合并.
安装命令行Git客户端
要使用Git LFS或凭据帮助器,必须安装命令行Git客户机并使其在系统范围内可用。在R2020b之前,必须安装一个命令行Git客户机来使用Git合并MATLAB中的分支。
要检查Git是否安装,输入命令git !
在MATLAB命令窗口中。如果该命令没有返回任何内容,则需要安装命令行Git。该表提供了关于如何基于您的操作系统安装命令行Git的说明。
操作系统 | 指令 |
---|---|
窗户 |
|
Linux | Git可用于大多数发行版。为您的发行版安装Git。例如,在Debian上®,安装Git,输入: Sudo apt-get安装git |
macOS | 在Mavericks(10.9)或更高版本上,从终端窗口运行Git。如果你还没有安装Git,它会提示你安装Xcode命令行工具。有关更多信息,请参见https://git-scm.com/doc. |