主要内容

设置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进行差异和合并。(可选)

在R2020b之前,必须安装命令行Git客户端才能在MATLAB中使用Git合并分支。有关更多信息,请参见安装命令行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系统上,如果您正在处理具有长路径的文件,请启用对长路径的支持。此外,要使用Git与MATLAB挂钩,请安装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

    如果您没有权限编辑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版本中不支持OpenSSH格式。例如,在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命令窗口中输入:

    采用“USERPROFILE”

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

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

    Git = settings().matlab. sourcectrol . Git;git.PrivateKeyFile.PersonalValue = "C:\Users\ .用户名\ . ssh \ id_ed25119”;git.PublicKeyFile.PersonalValue = "C:\Users\ .用户名\ . ssh \ id_ed25119.pub”;

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

    git. keyhaspasspphrase . 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版本中不支持OpenSSH格式。例如,在终端窗口中输入以下命令:

    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命令窗口中输入:

    采用“回家”

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

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

    Git = settings().matlab. sourcectrol . Git;git.PrivateKeyFile.PersonalValue =“~ / . ssh / id_ed25119”;git.PublicKeyFile.PersonalValue =“~ / . ssh / id_ed25119.pub”

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

    git. keyhaspasspphrase . personalvalue = true;

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

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

安装Git凭据助手

要将MATLAB配置为在使用Git时记住用户名和密码,请安装一个凭据帮助程序。对于所有平台,推荐的凭据助手是Git凭据管理器核心。

例如,要在Windows系统上安装Git Credential Manager Core,请使用中描述的说明下载并运行Git For Windows安装程序安装命令行Git客户端.在选择一个证书助手部分的安装程序,选择Git凭证管理器核心作为凭据助手。

要删除Git存储库中保存的登录信息,请根据您的操作系统执行相关操作。

操作系统 指令
窗户

要重置存储库的Git凭据,请在凭据管理器中Windows凭据选项卡,删除下的条目通用凭证

Linux和macOS

要重置存储库的Git凭据,输入:

Echo "url=https://github.com/myrepo.git" | git证书拒绝

禁用压缩动态仿真模块模型

您可以通过保存不压缩的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使用MATLAB差异和合并

您可以配置Git使用MATLAB比较工具进行差异和合并。MATLAB比较工具提供了合并MathWorks的工具®文件,如活动脚本,MAT, SLX或MDL文件。您可以使用自动合并工具和Git来自动合并在同一个SLX文件中包含不同子系统更改的分支。

有关如何配置Git以使用MATLAB比较工具的详细信息,请参见自定义外部源控制使用MATLAB差分和合并

安装命令行Git客户端

要使用Git LFS或凭据助手,必须安装命令行Git客户端,并使其在系统范围内可用。在R2020b之前,必须安装命令行Git客户端才能在MATLAB中使用Git合并分支。

输入命令检查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