我遇到过以下git命令:git diff ^master my_branch@{1} my_branch
。 ^master
,my_branch@{1}
和命令本身意味着什么?
我看了git diff
的男人,但没有找到任何有三个分支的变种。
答案 0 :(得分:2)
^ master意味着不是来自主
ref后跟后缀@,括号对中包含的序数规范(例如{1},{15})指定该ref的第n个先前值。例如,master @ {1}是master的直接先前值,而master @ {5}是master的第5个先前值。此后缀只能在ref名称后立即使用,并且ref必须具有现有日志($ GIT_DIR / logs /)。
所以你做了my_branch的差异,但没有显示主人可以访问的任何差异。
答案 1 :(得分:2)
有关详细信息,请参阅gitrevision
手册页。在您的示例中:
my_branch@{1}
表示之前的my_branch
引用状态。^master
是git diff
的一项功能,除了master
分支中已包含的内容之外的所有内容。在结果中,您可以获得my_branch
之前版本中的所有内容,但尚未在master
中。