英语法语西班牙语

Ad


OnWorks 网站图标

git-rev-parse - 云端在线

在 OnWorks 免费托管服务提供商中通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器运行 git-rev-parse

这是 git-rev-parse 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


git-rev-parse - 挑选和按摩参数

概要


混帐 rev解析 [ - 选项 ] ...

商品描述


许多 Git 瓷器命令混合使用标志(即以
短跑 -) 和用于底层证券的参数 混帐 版本列表 他们内部使用的命令
以及它们在下游使用的其他命令的标志和参数 混帐 版本列表。 这
命令用于区分它们。

配置


操作 模式
这些选项中的每一个都必须首先出现在命令行上。

--解析选择
使用 混帐 rev解析 在选项解析模式下(参见下面的 PARSEOPT 部分)。

--sq-引用
使用 混帐 rev解析 在 shell 引用模式下(参见下面的 SQ-QUOTE 部分)。 相比之下
下面的 --sq 选项,此模式仅引用。 没有其他命令可以执行
输入。

附加选项 --解析选择
--保持破折号
仅在 --parseopt 模式下有意义。 告诉选项解析器回显第一个——
遇到而不是跳过它。

--停止于非选项
仅在 --parseopt 模式下有意义。 让选项解析器在第一个停止
非选项参数。 这可用于解析带有选项的子命令
他们自己。

--卡住了很久
仅在 --parseopt 模式下有意义。 以长格式输出选项,如果
可用,并且他们的论点被卡住了。

附加选项 过滤
--仅转速
不要输出不适合的标志和参数 混帐 版本列表 命令。

--无转速
不要输出用于以下目的的标志和参数 混帐 版本列表 命令。

--标志
不输出非标志参数。

--无标志
不输出标志参数。

附加选项 输出
- 默认
如果用户没有给定参数,则使用反而。

- 字首
表现得好像 混帐 rev解析 是从工作的子目录
树。 任何相关文件名都被解析为前缀为并且会
以这种形式打印。

这可用于将参数转换为在子目录中运行的命令,以便它们
移动到存储库的顶层后仍然可以使用。 例如:

前缀=$(git rev-parse --show-prefix)
cd "$(git rev-parse --show-toplevel)"
eval "set -- $(git rev-parse --sq --prefix "$prefix" "$@")"

- 核实
验证是否提供了一个参数,并且可以将其转换为原始参数
可用于访问对象数据库的 20 字节 SHA-1。 如果是这样,将其发送到
标准输出; 否则,出错。

如果你想确保输出实际上命名了你的对象中的一个对象
数据库和/或可以用作您需要的特定类型的对象,您可以添加
^{type} 剥离运算符到参数。 例如, git rev-parse "$VAR^{commit}"
将确保 $VAR 命名一个现有的对象是一个 commit-ish(即一个提交,或
指向提交的带注释的标签)。 确保 $VAR 命名现有的
任何类型的对象,都可以使用 git rev-parse "$VAR^{object}"。

-q, --安静
仅在 --verify 模式下有意义。 如果第一个参数不输出错误信息
不是有效的对象名称; 而是以非零状态静默退出。 SHA-1 用于
成功时将有效的对象名称打印到标准输出。

--平方
通常每个标志和参数输出一行。 此选项使输出成为
单行,正确引用以供 shell 使用。 当你期望你的时候很有用
包含空格和换行符的参数(例如,当使用 pickaxe -S 时 混帐
差异-*)。 与 --sq-quote 选项相反,命令输入仍然被解释
像往常一样。

- 不是
显示对象名称时,添加前缀 ^ 和剥离 ^ 对象名称的前缀
那个已经有了。

--abbrev-ref[=(严格|宽松)]
对象名称的明确短名称。 选项 core.warnAmbiguousRefs 是
用于选择严格的缩写模式。

--short, --short=数字
与其输出对象名称的完整 SHA-1 值,不如尝试将它们缩写为
较短的唯一名称。 如果未指定长度,则使用 7。 最小长度为 4。

--象征性的
通常对象名称以 SHA-1 形式输出(可能 ^ 字首); 这个
选项使它们以尽可能接近原始输入的形式输出。

--符号全名
这类似于 --symbolic,但它省略了不是 refs 的输入(即分支或
标签名称; 或者更明确地消除“heads/master”形式的歧义,当你想
当有一个不幸命名的标签“master”时,将“master”分支命名为“master”),并显示
它们作为完整的引用名称(例如“refs/heads/master”)。

附加选项 对象
- 全部
显示在 refs/ 中找到的所有引用。

--branches[=pattern]、--tags[=pattern]、--remotes[=pattern]
分别显示所有分支、标签或远程跟踪分支(即找到的引用
分别在 refs/heads、refs/tags 或 refs/remotes 中)。

如果给出了模式,则仅显示与给定 shell glob 匹配的引用。 如果
模式不包含通配符(?、* 或 [),它变成了前缀
通过附加 /*.

--glob=模式
显示与 shell glob 模式模式匹配的所有引用。 如果模式没有开始
使用 refs/,这会自动添加。 如果模式不包含
通配符(?、* 或 [),通过附加 /* 将其转换为前缀匹配。

--排除=
不包括 refs 匹配 下一个 --all, --branches, --tags,
--remotes 或 --glob 否则会考虑。 此选项的重复累积
排除模式直到下一个 --all、--branches、--tags、--remotes 或 --glob
选项(其他选项或参数不会清除累积模式)。

给出的模式不应以 refs/heads、refs/tags 或 refs/remotes 开头,当
分别应用于 --branches、--tags 或 --remotes,并且它们必须以
refs/ 应用于--glob 或--all 时。 如果一个尾随 /* 是有意的,必须给予
明确地。

--消除歧义=
显示名称以给定前缀开头的每个对象。 这必须在
至少 4 个十六进制数字长以避免列出每个对象
存储库错误。

附加选项
--本地环境变量
列出存储库本地的 GIT_* 环境变量(例如 GIT_DIR 或
GIT_WORK_TREE,但不是 GIT_EDITOR)。 只列出变量的名称,不列出
他们的价值,即使他们被设置。

--git目录
如果已定义,则显示 $GIT_DIR。 否则显示 .git 目录的路径。 路径
显示,当相对时,是相对于当前工作目录的。

如果未定义 $GIT_DIR 并且未检测到当前目录位于 Git 中
存储库或工作树将消息打印到 stderr 并以非零状态退出。

--git-common-dir
如果已定义,则显示 $GIT_COMMON_DIR,否则显示 $GIT_DIR。

--is-inside-git-dir
当前工作目录在存储库目录下时打印“true”,
否则为“假”。

--在工作树内部
当前工作目录在存储库的工作树中时打印
“真”,否则“假”。

--is-裸存储库
当存储库是裸时打印“true”,否则打印“false”。

--resolve-git-dir
检查是否是一个有效的存储库或指向有效存储库的 gitfile,
并打印存储库的位置。 如果是一个 gitfile 然后解决了
打印真实存储库的路径。

--git-path
解析“$GIT_DIR/ " 并采用其他路径重定位变量,例如
$GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE... 考虑在内。 例如,如果
$GIT_OBJECT_DIRECTORY 设置为 /foo/bar 然后“git rev-parse --git-path objects/abc”
返回 /foo/bar/abc。

--显示-cdup
从子目录调用命令时,显示顶级目录的路径
相对于当前目录的目录(通常是“../”的序列,或
空字符串)。

--显示前缀
从子目录调用命令时,显示当前路径
目录相对于顶级目录。

--显示顶层
显示顶级目录的绝对路径。

--共享索引路径
在拆分索引模式下显示共享索引文件的路径,如果不在,则为空
拆分索引模式。

其他名称 附加选项
--since=日期字符串,--after=日期字符串
解析日期字符串,输出对应的--max-age=参数为 混帐
版本列表.

--直到=日期字符串,--之前=日期字符串
解析日期字符串,输出对应的--min-age=参数为 混帐
版本列表.

...
要解析的标志和参数。

指定 修订版


修订参数 通常,但不一定,命名提交对象。 它用
什么叫做 扩展 SHA-1 句法。 以下是拼写对象名称的各种方法。 这
在此列表末尾附近列出的名称将包含在提交中的树和 blob。

,例如 dae86e1950b1277e545cee180551750029cfe735, 大86e
完整的 SHA-1 对象名称(40 字节的十六进制字符串),或前导子字符串
在存储库中是唯一的。 例如 dae86e1950b1277e545cee180551750029cfe735 和
如果您的存储库中没有其他对象,则 dae86e 都命名相同的提交对象
其对象名称以 dae86e 开头。

,例如 v1.7.4.2-679-g3bee7fb
来自 git describe 的输出; 即最近的标签,可选后跟一个破折号和一个
提交次数,后跟一个破折号,一个 g, 和一个缩写的对象名称。

,例如 , 负责人/主人, 裁判/负责人/大师
符号引用名称。 例如 通常表示引用的提交对象
裁判/负责人/大师. 如果你碰巧同时拥有 负责人/主人标签/主,你可以直接在这个页面上
明确地说 负责人/主人 告诉 Git 你指的是哪一个。 当有歧义时,一个
通过采用以下规则中的第一个匹配来消除歧义:

1。 如果 $GIT_DIR/ 存在,这就是你的意思(这通常只有
, FETCH_HEAD, 原点头, 合并头樱桃采摘头);

2. 否则, 参考文献/ 如果存在;

3. 否则, 参考/标签/ 如果存在;

4. 否则, 参考/头/ 如果存在;

5. 否则, 参考/遥控器/ 如果存在;

6. 否则, 参考/遥控器/ /头 如果它存在。

命名您基于工作树中的更改的提交。
FETCH_HEAD 记录您从远程存储库中获取的分支
最后一次 git fetch 调用。 原点头 由移动您的命令创建
以激烈的方式记录下 在他们的手术之前,所以
您可以轻松地将分支的尖端更改回运行前的状态
他们。 合并头 记录您要合并到分支中的提交
当你运行 git merge 时。 樱桃采摘头 记录你的提交
当你运行 git cherry-pick 时进行cherry-picking。

请注意,任何 参考/* 以上案例可能来自 $GIT_DIR/参考
目录或从 $GIT_DIR/packed-refs 文件。 虽然参考名称编码是
未指定,UTF-8 是首选,因为某些输出处理可能会在
UTF-8。

@
@ 独自一人是捷径 .

@{ },例如 大师@{昨天}, 头@{5 分钟 前}
一个 ref 后跟后缀 @ 日期规范括在大括号对中
(例如 {昨天}, {1 2 3 1 小时 1 第二 前} or {1979-02-26
18:30:00}) 指定先前时间点的 ref 值。 这个后缀可能
只能紧跟在 ref 名称之后使用,并且 ref 必须具有现有日志
($GIT_DIR/日志/)。 请注意,这会查找您的状态 本地 给定的参考
时间; 例如,你当地有什么 上周分行。 如果你想看
在特定时间进行的提交,请参阅 - 自从- 直到.

@{ },例如 大师@{1}
一个 ref 后跟后缀 @ 用括号对括起来的序数规范
(例如 1 {}, 15 {}) 指定该引用的第 n 个先验值。 例如 大师@{1}
是的直接先验值 大师@{5} 是第 5 个先验值
. 此后缀只能紧跟在 ref 名称之后使用,并且 ref 必须
有一个现有的日志($GIT_DIR/日志/).

@{ },例如 @{1}
您可以使用 @ 使用空的 ref 部分构造以获取
当前分支。 例如,如果您在分支上 布拉布拉 然后 @{1} 意思是一样的
废话@{1}.

@{- },例如 @{-1}
构造 @{- } 意味着在当前分支/提交之前签出的分支/提交
一。

@{上游的},例如 大师@{上游}, @{你}
后缀 @{上游的} 到一个分支名称(简称 @{u})指
由 branchname 指定的分支设置为在其上构建的分支(配置
与分支。 .远程和分支。 。合并)。 缺少的分支名称默认为
当前的。

@{推},例如 大师@{推}, @{推}
后缀 @{推} 如果 git push 运行,则报告分支“我们将推送到的位置”
当分支名被检出(或当前 如果没有指定分支名称)。
由于我们的推送目的地在远程仓库中,当然,我们报告本地
对应于该分支的跟踪分支(即 参考/遥控器/).

这是一个更清楚的例子:

$ git config push.default 当前
$ git config remote.pushdefault myfork
$ git checkout -b mybranch origin/master

$ git rev-parse --symbolic-full-name @{upstream}
参考/遥控器/起源/主

$ git rev-parse --symbolic-full-name @{push}
参考文献/遥控器/myfork/mybranch

请注意,在示例中我们设置了一个三角形工作流,我们从一个
位置并推到另一个。 在非三角工作流中, @{推} 是相同的
@{上游的},而且没有必要。

^,例如 头^, v1.5.1^0
一个后缀 ^ 到修订参数意味着该提交对象的第一个父级。 ^
意味着th 父母(即 ^ 相当于 ^1)。 作为一项特殊规定,
^0 表示提交本身并在以下情况下使用 是标签的对象名称
引用提交对象的对象。

~,例如 大师~3
一个后缀 ~ 到一个修订参数意味着提交对象是日
命名提交对象的世代祖先,仅跟随第一个父母。 IE
~3 相当于 ^^^ 相当于 ^1^1^1. 请参阅下面的
说明此表格的用法。

^{ },例如 v0.99.8^{提交}
一个后缀 ^ 后跟括在大括号对中的对象类型名称表示取消引用
对象在 递归直到一个类型的对象 找到或对象
不能再取消引用(在这种情况下,barf)。 例如,如果 是一个
提交, ^{提交} 描述相应的提交对象。 同样,如果
是一棵树, ^{树} 描述相应的树对象。 ^0 is
的简写 ^{提交}.

转^{对象} 可用于确保 命名一个存在的对象,没有
要求 成为一个标签,并且没有取消引用 ; 因为标签已经是
对象,它甚至不必取消引用一次即可访问对象。

转^{标签} 可以用来确保 标识现有的标签对象。

^{},例如 v0.99.8^{}
一个后缀 ^ 后跟一个空的大括号对意味着该对象可以是一个标签,并且
递归地取消引用标记,直到找到非标记对象。

^{/ },例如 HEAD^{/修复 讨厌 漏洞}
一个后缀 ^ 到修订参数,后跟包含文本的大括号对
斜线,与 :/使固定 讨厌 错误 下面的语法除了它返回
最年轻的匹配提交,可从 before ^.

:/,例如 :/使固定 讨厌 错误
冒号,后跟斜杠,后跟文本,命名其提交消息的提交
匹配指定的正则表达式。 此名称返回最年轻的匹配
可以从任何引用访问的提交。 如果提交消息以 !
必须重复一遍; 特殊序列 :/!,然后是其他东西 !,东京国立癌症中心医院
暂时保留。 正则表达式可以匹配提交消息的任何部分。 到
匹配以字符串开头的消息,可以使用例如 :/^富.

,例如 头:自述文件, :自述文件, 大师:./自述文件
一个后缀 : 后跟路径命名树中给定路径处的 blob 或树
由冒号前的部分命名的对象。 :小路 (在前面有一个空白部分
冒号)是下面描述的语法的特例:内容记录在索引中
在给定的路径。 以开头的路径 ./ or .. / 是相对于目前的工作
目录。 给定的路径将被转换为相对于工作树的根
目录。 这对于从提交或树中寻址 blob 或树最有用
具有与工作树相同的树结构。

: :,例如 :0:自述文件, :自述文件
一个冒号,可选地后跟一个阶段编号(0 到 3)和一个冒号,后跟一个
路径,在给定路径的索引中命名一个 blob 对象。 缺少的阶段编号(和
后面的冒号)命名一个阶段 0 条目。 在合并期间,阶段 1 是
共同祖先,阶段 2 是目标分支的版本(通常是当前的
分支),阶段 3 是来自正在合并的分支的版本。

这是 Jon Loeliger 的插图。 提交节点 B 和 C 都是提交的父节点
节点 A. 父提交按从左到右的顺序排列。

吉吉
\/\/
防御
\ | /\
\ | / |
\|/|
公元前
\ /
\ /
A

A = = A^0
B = A^ = A^1 = A~1
C = A^2 = A^2
D = A^^ = A^1^1 = A~2
E = B^2 = A^^2
F = B^3 = A^^3
G = A^^^ = A^1^1^1 = A~3
H = D^2 = B^^2 = A^^^2 = A~2^2
我 = F^ = B^3^ = A^^3^
J = F^2 = B^3^2 = A^^3^2

指定 范围


诸如 git log 之类的历史遍历命令对一组提交进行操作,而不仅仅是单个
犯罪。 对于这些命令,使用在
上一部分表示在提交之后可从该提交访问的一组提交
血统链。

要从提交中排除可访问的提交,前缀 ^ 使用符号。 例如 ^r1 r2 手段
提交可从 r2 但排除那些可达的 r1.

这个集合操作经常出现,所以有一个简写。 当你有两个
提交 r1r2 (根据上面 SPECIFYING REVISIONS 中解释的语法命名),
您可以要求可从 r2 访问的提交,但不包括可从 rXNUMX 访问的提交
r1 由 ^r1 r2 它可以写成 r1..r2.

类似的记法 r1...r2 称为对称差 r1r2 并定义为
r1 r2 - 不是 $(混帐 合并基础 - 全部 r1 r2). 它是可访问的提交集
从其中任何一个 r1 or r2 但不是来自两者。

在这两种简写中,您可以省略一端并让它默认为 HEAD。 例如,
起源.. 是的简写 起源..头 并问“自从我从
起源分支?”同样, ..起源 是的简写 头..原点 并问“那做了什么
自从我从他们那里分叉以来,起源是什么?”请注意 .. 会意味着 头..头 这是一个空的
从 HEAD 可到达和不可到达的范围。

命名由提交及其父提交形成的集合的另外两个简写
存在。 该 r1^@ 符号表示所有的父母 r1. r1^! 包括提交 r1 但排除所有
它的父母。

总结如下:


包括可从(即其祖先)访问的提交.

^
排除可从(即其祖先)访问的提交.

..
包括可从以下位置访问的提交但排除那些可达的
从. 当任一或者省略,默认为 .

...
包括可从任何一个访问的提交或者但排除那些
两者都可以访问。 当任一或者省略,默认为 .

^@,例如 头^@
一个后缀 ^ 后跟一个 at 符号与列出所有的父母相同
(意思是,包括任何可从其父级访问的内容,但不包括提交本身)。

^!,例如 头^!
一个后缀 ^ 后跟感叹号与提交相同 然后
它的所有父母都以 ^ 排除他们(和他们的祖先)。

以下是一些示例:

DGHD
DFGHIJDF
^粤港澳大湾区
^DBEIJFB
B..CC
B...CGHDEBC
^DBCEIJFBC
CIJFC
C^@ IJF
C^! C
F^! 发展部

帕塞普特


在 --parseopt 模式下, 混帐 rev解析 帮助按摩选项带入 shell 脚本
C 内置函数具有相同的功能。 它用作选项规范器(例如拆分单个
切换聚合值),有点像 获取选择(1) 确实。

它采用标准输入来解析和理解选项的规范,
并在标准输出上回显一个适合的字符串 sh(1) eval 替换
参数与规范化的。 如果出现错误,它会输出标准错误的用法
流,并以代码 129 退出。

注意:确保在将结果传递给 eval 时引用结果。 请参阅下面的示例。

输入 格式
混帐 rev解析 --解析选择 输入格式是完全基于文本的。 它有两部分,由
仅包含 -- 的行。 分隔符之前的行(应该是一行或多行)是
用于用途。 分隔符后面的行描述了选项。

每行选项都具有以下格式:

* ? SP+ 帮助 LF


它的格式是短选项字符,然后是长选项名称,由 a 分隔
逗号。 这两个部分都不是必需的,但至少需要一个。 可能不包含
任何人物。 h、help、dry-run 和 f 是正确的示例
.


是 *, =, ? 或者 !。

· 如果选项接受参数,则使用 =。

· 用 ? 表示该选项采用可选参数。 你可能想要
使用 --stuck-long 模式能够明确解析可选参数。

· 使用 * 表示该选项不应列在为
-h 参数。 它显示为 --help-all 记录在 gitcli(7)。

· 用 ! 不使相应的否定多头选项可用。


,如果指定,在帮助输出中用作参数的名称,例如
带参数的选项。 由第一个空格终止。 这是
习惯上使用破折号来分隔多词参数提示中的词。

该行的其余部分,在去除空格后,用作与以下内容相关的帮助
选项。

空行被忽略,不符合本规范的行作为选项
组标题(以空格开头的行以故意创建此类行)。

例如:
OPTS_SPEC="\
一些命令 [选项] ...

some-command 执行 foo 和 bar!
--
h,help 显示帮助

foo 一些漂亮的选项 --foo
bar= 一些很酷的选项 --bar 带参数
baz=arg 另一个很酷的选项 --baz 带有命名参数
qux?path qux 可能需要一个路径参数,但它本身就有意义

选项组标题
C? 带有可选参数的选项 C"

eval "$(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)"

用法 文本
当“$@”在上例中为 -h 或 --help 时,将显示以下用法文本:

用法:some-command [选项] ...

some-command 执行 foo 和 bar!

-h, --help 显示帮助
--foo 一些漂亮的选项 --foo
--bar ... 一些很酷的选项 --bar 带参数
--baz 另一个很酷的选项 --baz 带有命名参数
--qux[= ] qux 可能采用路径参数,但本身具有意义

选项组标题
-C[...] 带有可选参数的选项 C

SQ-报价


在 --sq-quote 模式下, 混帐 rev解析 在标准输出上回显一行适合
sh(1) 评估。 这一行是通过规范化 --sq-quote 后面的参数来实现的。 没有
除了引用参数之外,完成。

如果您希望命令输入仍然像往常一样被解释 混帐 rev解析
输出是 shell 引用的,请参阅 --sq 选项。

例如:
$ cat >your-git-script.sh <<\EOF
#!/ bin / sh的
args=$(git rev-parse --sq-quote "$@") # 引用用户提供的参数
command="git frotz -n24 $args" # 并在手工制作中使用它
# 命令行
评估“$命令”
EOF

$ sh your-git-script.sh "a b'c"

示例


· 打印当前提交的对象名称:

$ git rev-parse --验证 HEAD

· 在 $REV shell 变量中打印来自修订版的提交对象名称:

$ git rev-parse --验证 $REV^{提交}

如果 $REV 为空或不是有效的修订版,这将出错。

· 类似上面:

$ git rev-parse --default master --verify $REV

但如果 $REV 为空,则将打印来自 master 的提交对象名称。

GIT


部分 混帐(1) 套房

使用 onworks.net 服务在线使用 git-rev-parse


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    Alt-F
    Alt-F
    Alt-F 提供了一个免费和开源的
    DLINK 的替代固件
    DNS-320/320L/321/323/325/327L and
    DNR-322L。 Alt-F 有 Samba 和 NFS;
    支持ext2/3/4...
    下载 Alt-F
  • 2
    usm
    usm
    usm 是一个统一的 slackware 包
    处理自动的经理
    依赖解决。 它统一了
    各种软件包存储库,包括
    slackware、slacky、p...
    下载usm
  • 3
    chart.js之
    chart.js之
    Chart.js 是一个 Javascript 库,它
    允许设计师和开发人员绘制
    使用HTML5的各种图表
    画布元素。 Chart js 提供了一个很好的
    大批 ...
    下载 Chart.js
  • 4
    用于JasperReports的iReport-Designer
    用于JasperReports的iReport-Designer
    注意:iReport/Jaspersoft Studio 支持
    公告:从 5.5.0 版开始,
    Jaspersoft Studio 将成为官方
    JasperReports 的设计客户端。 iReport
    将...
    下载 JasperReports 的 iReport-Designer
  • 5
    安装后F
    安装后F
    PostInstallerF 将安装所有
    Fedora Linux 和其他软件
    默认不包括,之后
    第一次运行 Fedora。 它的
    容易...
    下载 PostInstallerF
  • 6
    痕迹
    痕迹
    strace 项目已移至
    https://strace.io. strace is a
    诊断、调试和指导
    Linux 的用户空间跟踪器。 它被使用
    监控一个...
    下载跟踪
  • 更多 ”

Linux 命令

Ad