我遇到了以下 git 命令:git diff ^master my_branch@{1} my_branch
. ^master
,my_branch@{1}
和命令本身是什么意思?
我找了人,git diff
但没有找到任何具有三个分支的变体。
我遇到了以下 git 命令:git diff ^master my_branch@{1} my_branch
. ^master
,my_branch@{1}
和命令本身是什么意思?
我找了人,git diff
但没有找到任何具有三个分支的变体。
^master 表示不是来自主人
一个 ref 后缀为 @ 并带有一个包含在大括号对中的序数规范(例如 {1}、{15}),指定了该 ref 的第 n 个先前值。例如,master@{1} 是 master 的直接优先值,而 master@{5} 是 master 的第 5 个优先值。此后缀只能紧跟在 ref 名称之后使用,并且 ref 必须具有现有日志 ($GIT_DIR/logs/)。
所以你做了一个 my_branch 的差异,但不显示任何 master 可以访问的差异。
有关更多信息,请参见gitrevision
手册页。在您的示例中:
my_branch@{1}
表示先前的my_branch
参考状态。^master
是git diff
除了已经存在于master
分支中的所有内容之外的所有内容。结果,您将获得以前版本中my_branch
但master
尚未出现的所有内容。