- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如您所知,我们有 source control in MATLAB R2014b .我要使用 GitHub使用 Matlab R2014b。在 MATLAB 中,有一个手册 Git .第三方源代码控制工具的说明说明:
If you use third-party source control tools, you must register your MATLAB and Simulink® file extensions such as .mat, .mdl, and .slx as binary formats. If you do not register the extensions, these tools can corrupt your files when you submit them by changing end-of-line characters, expanding tokens, substituting keywords, or attempting to automerge. Corruption can occur whether you use the source control tools outside of MATLAB or if you try submitting files from MATLAB without first registering your file formats.
我应该为此做什么?在 MATLAB 中,我们应该设置“存储库”和“沙箱”。我如何在 GitHub 上设置这些(特别是“沙箱”)?我应该使用 MATLAB 还是 GitHub 创建存储库?我如何将存储库链接到第二个存储库?
MATLAB 中的“沙箱”与 GitHub 中的“克隆”相同吗?
最佳答案
这张图片演示了 Git 在 MATLAB 中的工作流程。
如您所见,您将在您的本地目录(即您的沙盒)中工作。从那里您将能够将更改提交到本地存储库。然后可以将它们推送到远程存储库,例如GitHub.
您可以选择clone远程 Git 存储库或 create a new one .
我建议您在 GitHub 上创建一个新存储库,然后使用克隆链接在 MATLAB 中创建本地存储库。这会将空存储库克隆到您的工作目录中。这个本地副本称为沙盒。您可以开始使用这些文件并修改它们。达到某个里程碑后,您可以将更改提交到本地存储库。这将领先于远程存储库 (GitHub)。然后,您可以将这些提交推送到您的远程存储库(或获取其他人推送到远程存储库的其他提交)。
添加存储库后,您首先需要注册二进制文件;创建 gitattributes
在您的存储库中创建文件并添加以下内容;
*.mat -crlf -diff -merge
*.p -crlf -diff -merge
*.slx -crlf -diff -merge
*.mdl -crlf -diff -merge
这些行指定不尝试对这些类型的文件进行自动换行、比较和 merge 尝试。
您还可以检查您使用的其他文件类型,您也需要将这些文件类型注册为二进制文件以避免在 checkin 时损坏。检查 .mdlp、.slxp、MEX 文件(.mexa64、.mexmaci64、.mexw32、.mexw64)、.xlsx、.jpg、.pdf、.docx 等文件。在属性文件中添加一行您需要的每种文件类型;
*.mdlp -crlf -diff -merge
*.slxp -crlf -diff -merge
*.sldd -crlf -diff -merge
*.mexa64 -crlf -diff -merge
*.mexw32 -crlf -diff -merge
*.mexw64 -crlf -diff -merge
*.mexmaci64 -crlf -diff -merge
*.xlsx -crlf -diff -merge
*.docx -crlf -diff -merge
*.pdf -crlf -diff -merge
*.jpg -crlf -diff -merge
*.png -crlf -diff -merge
您可以在此处找到更多信息:http://www.mathworks.nl/help/matlab/matlab_prog/set-up-git-source-control.html
之后您可以将文件标记为 addition和 commit对本地存储库的修改。如果你愿意也可以push and fetch到远程存储库。
请注意,如果您想要 merge 分支,则需要安装一个命令行 Git 客户端(如果您还没有的话)。
关于git - 将 GitHub 与 MATLAB R2014b 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26677040/
我有两种结构,Header 和Session,它们都符合协议(protocol)TimelineItem。 我有一个 Array 由 TimelineItem 组成,如下所示: [Header1, S
这个问题在这里已经有了答案: Multiple assignment and evaluation order in Python (11 个答案) 关闭 6 年前。 我刚接触python所以想问你
我试图找到一种方法来在 R 中获取 A、A、A、A、B、B、B、B、B 的所有可能的唯一排列的列表。 组合最初被认为是获得解决方案的方法,因此组合的答案。 最佳答案 我认为这就是你所追求的。 @bil
我怎样才能将两个给定的向量混合成一个新的向量,它以交替的顺序保存它们的值。 (f [a a] [b b]) ; > [a b a b] 这是我想到的: (flatten (map vector [:a
这是我的第一个问题,我开始学习Python。之间有区别吗: a, b = b, a + b 和 a = b b = a + b 当您在下面的示例中编写它时,它会显示不同的结果。 def fib(n):
这个问题在这里已经有了答案: Why is there an injected class name? (1 个回答) 12 个月前关闭。 我不知道如何解释: namespace A { struct
我尝试了一些代码来交换 Java 中的两个整数,而不使用第三个变量,使用 XOR。 这是我尝试过的两个交换函数: package lang.numeric; public class SwapVars
假设类 B 扩展类 A,并且我想为 B 声明一个变量。什么更有效?为什么? B b或 A b . 最佳答案 您混淆了两个不同的概念。 class B extends A { } 意味着B 是 A .
我不确定这个问题的标题是什么,这也可能是一个重复的问题。所以请相应地指导。 我是 python 编程的新手。我有这个简单的代码来生成斐波那契数列。 1: def fibo(n): 2: a =
我在谷歌上搜索了有关 dynamic_cast 的内容,我发现显式地将基类对象转换为派生类指针可能是不安全的。但是当我运行一些示例代码来检查它时,我没有收到任何错误。请在下面找到我的代码: class
这个问题在这里已经有了答案: What is this weird colon-member (" : ") syntax in the constructor? (14 个答案) 关闭 8 年前。
在不重现产生非整数值的表达式的情况下实现以下目标的惯用方法是什么(在我的真实情况下,该值是在我不想重现的冗长查询之后计算为百分比的): SELECT * FROM SomeTable WHERE 1/
在析构中,这两个代码的结果确实不同。我不确定为什么。 提示说 const [b,a] = [a,b] 将导致 a,b 的值为 undefined (从左到右的简单分配规则)。我不明白为什么会这样。 l
C++ Templates - The Complete Guide, 2nd Edition介绍max模板: template T max (T a, T b) { // if b < a th
我最近开始学习代码(Java),并根据第 15.17.3 节在 Oracle 网站上查找了模运算符。以下链接: http://docs.oracle.com/javase/specs/jls/se8/
无法理解以下行为。 d1 := &data{1}; 的区别d1 和 d2 := 数据{1}; &d1。两者都是指针,对吧?但他们的行为不同。这里发生了什么 package main import "f
这个问题在这里已经有了答案: How to make loop infinite with "x = y && x != y"? (4 个回答) How can i define variables
在我的程序中,当我调试我的代码时,它似乎在我生成的代码中的某处 X1=['[a,a,a]','[b,b,b]'] 还有我生成的其他地方 X2=[[a,a,a],[b,b,b]] 当我想添加这两个列表然
我试图使用递归将两个整数相乘,并意外编写了这段代码: //the original version int multiply(int a, int b) { if ( !b ) retu
我有一个列表中数字之间所有可能的操作组合: list = ['2','7','8'] 7+8*2 8+7*2 2*8+7 2+8*7 2-8*7 8-2/7 etc 我想知道是否可以说像 ('7*2+
我是一名优秀的程序员,十分优秀!