Git 用吉特表示的插入符号点符号
以下git语法是什么意思:Git 用吉特表示的插入符号点符号,git,Git,以下git语法是什么意思:6df7640^.. 我在那里看到过: 我在中查找了此语法描述,但没有找到答案。插入符号表示以前的版本。表示“从到”,省略“到”部分只是取头 因此,6df7640^..表示从6df7640的父提交到头插入符号表示以前的版本。表示“从到”,省略“到”部分只是取头 因此,6df7640^..意味着从6df7640的父提交到头比blackbuild所述的要复杂一些。这本手册包罗万象,但它的语言有点枯燥,让我们来详细阐述一下 插入符号 插入符号“^”实际上意味着它所遵循的提交的
6df7640^..
我在那里看到过:
我在中查找了此语法描述,但没有找到答案。插入符号表示以前的版本<代码>。表示“从到”,省略“到”部分只是取头
因此,
6df7640^..
表示从6df7640
的父提交到头插入符号表示以前的版本<代码>。
表示“从到”,省略“到”部分只是取头
因此,
6df7640^..
意味着从6df7640
的父提交到头比blackbuild
所述的要复杂一些。这本手册包罗万象,但它的语言有点枯燥,让我们来详细阐述一下
插入符号
插入符号“^
”实际上意味着它所遵循的提交的第一个父级
其思想是合并提交有多个父级(Git甚至支持所谓的“octopus”合并,即多个分支合并到另一个分支中,从而产生的合并提交有两个以上的父级)
如果要选择第二个父对象(合并的对象),可以使用^2
,第三个父对象可以使用^3
,依此类推
。
范围运算符
A..B
符号也不是像“从A到B”这样简单的意思。手册将其定义为:
。
包括可从
访问的提交,但排除可从
访问的提交
…略高于此
^
排除可从(即的祖先)访问的提交
如你所见,既没有提到“从”也没有提到“到”
这是因为Git history是一个有向无环图,而不仅仅是提交的时间线,因此Git history遍历命令(接受这样的范围)操作提交集,而不是时间线。现在,“提交可访问性”的概念来了:如果您指向存储库历史图上的任意提交,您可能会从那里向下跟踪该提交的父提交、其父提交等等。因此,给定历史的DAG上的一个提交,您可以获得从该DAG可访问的所有提交的子图。从逻辑上讲,所有这些提交构成了由该“锚”提交维护的代码库的状态
现在,如果您想限制形成子图的提交集,比如说,出于历史检查的目的,您必须删除该子图中不感兴趣的部分。这正是上面提到的前缀^
排除运算符所做的
因此,。
是颠覆难民的另一种形式。第二个更通用的表单之所以有趣,是因为
...-A-B-C-D-E-F
...-X-Y-Z
\
...-A-B-C-D-E-F
/
...-U-W
这两种形式,B..E
和E^B
对于更复杂的情况产生完全相同的结果,如
...-A-B-C-D-E-F
...-X-Y-Z
\
...-A-B-C-D-E-F
/
...-U-W
(当C
和D
被合并提交时)它们将产生不同的结果,因为B..E
不会修剪锚定在Z
和W
上的子图,如果您也想修剪它们,您将使用E^B^Z^W
,这是“两点”形式无法做到的
。
范围运算符和git diff
另一件需要记住的事情是,对于git diff
,。
操作符的含义与诸如git log
之类的历史遍历命令的含义不同。这是一个微妙的区别,特别是如果在的左侧使用类似^
的内容
不同之处在于,git diff
总是只考虑两个修订:对于A..B
,它只考虑A
和B
,不关心它们之间的提交是什么,也不关心A
和B
在拓扑上是如何相关的,即使它们是完全相关的(一个可以从另一个访问)
因此,在使用git diff
时,最好总是使用两个单独的修订参数,比如git diff A B
来比较A
和B
,这比blackbuild
所述的要复杂一些。这本手册包罗万象,但它的语言有点枯燥,让我们来详细阐述一下
插入符号
插入符号“^
”实际上意味着它所遵循的提交的第一个父级
其思想是合并提交有多个父级(Git甚至支持所谓的“octopus”合并,即多个分支合并到另一个分支中,从而产生的合并提交有两个以上的父级)
如果要选择第二个父对象(合并的对象),可以使用^2
,第三个父对象可以使用^3
,依此类推
。
范围运算符
A..B
符号也不是像“从A到B”这样简单的意思。手册将其定义为:
。
包括可从
访问的提交,但排除可从
访问的提交
…略高于此
^
排除可从(即的祖先)访问的提交
如你所见,既没有提到“从”也没有提到“到”
这是因为Git history是一个有向无环图,而不仅仅是提交的时间线,因此Git history遍历命令(接受这样的范围)操作提交集,而不是时间线。现在,“提交可访问性”的概念来了:如果您指向存储库历史图上的任意提交,您可能会从那里向下跟踪该提交的父提交、其父提交等等。因此,给定历史的DAG上的一个提交,您可以获得从该DAG可访问的所有提交的子图。从逻辑上讲,所有这些提交构成了代码基主代码的状态