主要内容

设置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提交文件而没有先注册您的文件格式,就会发生损坏。

还要检查其他文件扩展名是否注册为二进制文件,以避免签入时损坏。检查并注册文件扩展名,例如.xlsxjpg. pdf。docx,等等。

要在Git中注册二进制文件扩展名,请将它们添加到.gitattributes文件。如果您创建一个使用Git源代码控制的新项目,或者将一个现有的项目从另一个源代码控制系统切换到Git源代码控制系统,MATLAB会自动创建一个.gitattributes文件,并用要注册的常用二进制文件列表填充它。

如果一个.gitattributes文件不会自动创建,您可以创建一个包含要注册的常用二进制文件列表的文件。在MATLAB命令窗口中,输入:

拷贝文件(fullfile (matlabroot,“工具箱”“共享”“cmlink”“git”“auxiliary_files”...“mwgitattributes”), fullfile (pwd,“.gitattributes”))

或者,创建空白.gitattributes文件,输入:

编辑.gitattributes

控件中尚未包含的二进制文件.gitattributes文件,为所需的每个文件类型在文件中添加一行。例如,*.mlapp二进制

配置MATLABGit窗户

在Windows系统上,如果您正在处理具有长路径的文件,请启用对长路径的支持。此外,要在MATLAB中使用Git钩子,请安装Cygwin并将其添加到MATLAB库路径中。Git钩子是定制脚本,可以由提交、合并和接收推送提交等操作触发。

启用长路径支持(推荐)

要在Windows系统上启用对长路径的支持,在MATLAB中运行以下命令:

git配置全局内核。longpaths真实

安装Cygwin(可选)

在Windows系统上安装Cygwin并将其添加到MATLAB库路径:

  1. 下载并运行安装程序https://www.cygwin.com/

  2. 在MATLAB中,打开librarypath.txt

    编辑(fullfile (matlabroot,“工具箱”“本地”“librarypath.txt”))

  3. 的末尾添加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文件的更多信息,请参考定位本机方法库

  4. 重启MATLAB。

配置MATLAB使用GitSSH身份验证

当您使用HTTPS与远程存储库交互时,为了防止频繁的登录提示,请添加一个新的公钥并使用SSH来克隆存储库。这个表提供了关于如何配置MATLAB以基于您的操作系统使用SSH身份验证的说明。

操作系统 指令
窗户
  1. 安装命令行Git客户机并使其在系统范围内可用。要检查Git是否安装,输入命令git !在MATLAB命令窗口中。如果该命令没有返回任何内容,则需要安装命令行Git。有关更多信息,请参见安装命令行Git客户端

  2. 关闭所有MATLAB会话。

  3. 生成SSH密钥ssh - keygen命令。例如,在Windows命令提示符下,输入以下命令:

    ssh-keygen -t ed25519 -C "your_email@example.com"
    ssh - keygen提示您确认将密钥保存在哪里,并要求输入密码短语。如果在使用密钥时不想输入密码,请将密码短语保留为空。

    如果指定文件夹中已经有密钥,ssh - keygen询问你是否想要覆盖它们。

    在R2021a之前,指定- m PEM选项生成RSA格式的SSH密钥。否则,ssh - keygen使用默认的OpenSSH格式创建SSH密钥,该格式在R2021a之前的MATLAB版本中不支持。例如,在Windows命令提示符下,输入以下命令:

    ssh - keygen - m PEM
    如果生成SSH密钥时不指定- m PEM选项,您可以使用此命令将密钥转换为支持的RSA格式,其中~ / . ssh / id_rsa表示SSH密钥文件的名称。
    ssh-keygen -p -m PEM -f ~/.ssh/id_rsa . sh

  4. 把你的钥匙放在USERPROFILE / . ssh家庭/ . ssh文件夹中。来验证它USERPROFILE文件夹MATLAB正在使用,在MATLAB命令窗口,输入:

    采用“USERPROFILE”

    在R2021a版本之前,如果您使用- m PEM选项,您可以跳过步骤5。

  5. 要确保MATLAB检测到SSH密钥,在MATLAB命令窗口中,输入:

    git = () .matlab.sourcecontrol.git设置;git.PrivateKeyFile.PersonalValue =/道路/ /关键的;git.PublicKeyFile.PersonalValue =“/道路/ / key.pub”

    如果您在生成SSH密钥时输入了密码短语,请配置MATLAB使用该密码短语,并在每个会话中只接收一次提示。要做到这一点,使用Pageant或者在MATLAB命令窗口中输入:

    git.KeyHasPassphrase.PersonalValue = true;

    要使用多个密钥,请使用Pageant作为SSH代理。如果Pageant正在运行,MATLAB在查找之前查找Pageant中的键USERPROFILE / . ssh

  6. 配置您的GitHub®或GitLab®帐户使用SSH密钥。要这样做,请转到. ssh文件夹和复制的内容.pub文件。然后,进入您的帐户设置,并在SSH密钥节,粘贴内容.pub文件到添加SSH密钥字段。

Linux®而且macOS
  1. 关闭所有MATLAB会话。

  2. 生成SSH密钥ssh - keygen命令。例如,在终端窗口中输入以下命令:

    ssh-keygen -t ed25519 -C "your_email@example.com"
    ssh - keygen提示您确认将密钥保存在哪里,并要求输入密码短语。如果在使用密钥时不想输入密码,请将密码短语保留为空。

    如果指定文件夹中已经有密钥,ssh - keygen询问你是否想要覆盖它们。

    在R2021a之前,指定- m PEM选项生成RSA格式的SSH密钥。否则,ssh - keygen使用默认的OpenSSH格式创建SSH密钥,该格式在R2021a之前的MATLAB版本中不支持。例如,在终端窗口中输入以下命令:

    ssh - keygen - m PEM
    如果生成SSH密钥时不指定- m PEM选项,您可以使用此命令将密钥转换为支持的RSA格式,其中~ / . ssh / id_rsa表示SSH密钥文件的名称。
    ssh-keygen -p -m PEM -f ~/.ssh/id_rsa . sh

  3. 把你的钥匙放在家庭/ . ssh文件夹中。来验证它首页文件夹MATLAB正在使用,在MATLAB命令窗口,输入:

    采用“回家”

    在R2021a版本之前,如果您使用- m PEM选项,您可以跳过步骤4。

  4. 要确保MATLAB检测到SSH密钥,在MATLAB命令窗口中,输入:

    git = () .matlab.sourcecontrol.git设置;git.PrivateKeyFile.PersonalValue =/道路/ /关键的;git.PublicKeyFile.PersonalValue =“/道路/ / key.pub”

    如果您在生成SSH密钥时输入了密码短语,请配置MATLAB使用该密码短语,并在每个会话中只接收一次提示。要做到这一点,使用SSH代理或者在MATLAB命令窗口中输入:

    git.KeyHasPassphrase.PersonalValue = true;

    如果要使用多个密钥,请使用SSH代理。如果SSH代理正在运行,MATLAB在查找代理之前查找代理中的键家庭/ . ssh

  5. 配置您的GitHub或giitlab帐户以使用SSH密钥。要这样做,请转到. ssh文件夹和复制的内容.pub文件。然后,进入您的帐户设置,并在SSH密钥节,粘贴内容.pub文件到添加SSH密钥字段。

安装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的说明。

操作系统 指令
窗户
  1. 下载并运行安装程序https://gitforwindows.org/

  2. 调整PATH环境部分,选择安装选项Git从命令行,也从第三方软件.该选项将Git添加到您的路径变量,并使其在系统范围内可用,以便MATLAB可以与Git通信。

  3. 在配置行结束转换的部分中,选择结帐windows样式,提交unix样式的行结束符选择。中的文本文件的行结束格式不能在机器和用户之间强制执行,但是可以支持一致的行结束格式.gitattributes每个存储库的文件。

  4. 重新启动系统,使更改生效。

Linux

Git可用于大多数发行版。为您的发行版安装Git。例如,在Debian上®,安装Git,输入:

Sudo apt-get安装git
macOS 在Mavericks(10.9)或更高版本上,从终端窗口运行Git。如果你还没有安装Git,它会提示你安装Xcode命令行工具。有关更多信息,请参见https://git-scm.com/doc

相关的话题

Baidu
map