Gre*_*ill 460
"瓷器"是通常制作厕所的材料(有时还有其他固定装置,如洗脸盆).这与"管道"(实际的管道和排水管)不同,瓷器为管道提供了更加用户友好的界面.
Git以类比的方式使用这个术语,将用户通常不需要直接使用的低级命令("管道")与更加用户友好的高级命令("瓷器")分开.
Von*_*onC 419
更重要的是,术语"瓷器"适用于高级命令,输出:
这是关键:如果你编写脚本,你应该使用可能的管道命令,输出稳定.不是瓷器命令.
但是,您可以使用具有--porcelain
脚本选项的瓷器命令的输出(见下文),如:
git status --porcelain
git push --porcelain
git blame --porcelain
Run Code Online (Sandbox Code Playgroud)
尽管git包含自己的瓷层,但它的低级命令足以支持替代瓷器的开发.
这些低级命令的接口(输入,输出,选项集和语义)比Porcelain级别命令更稳定,因为这些命令主要用于脚本使用.
另一方面,Porcelain命令的界面可能会发生变化,以改善最终用户体验.
有关使用管道命令而不是瓷器命令的示例,请参阅" 如何以编程方式确定是否存在未提交的更改? ".
注意:瓷器命令可以有一个--porcelain
选项.
例如:git status --porcelain
,指定要解析的输出.
--porcelain
Run Code Online (Sandbox Code Playgroud)
以易于解析的格式为脚本提供输出.这与短输出类似,但在git版本中保持稳定,无论用户配置如何.请参阅下文了解详情.
上面提到的主题细节:
这在某种程度上是我的错.
"短状态"的形式是指对人的眼球,被JUNIO设计.
有些人也想要一个可编写脚本的状态输出,所以我--porcelain
在相同的格式上打了一个" ",关闭了可配置的功能,如相对路径名和着色,并暗示我们不会对格式进行进一步的更改.
这个想法是为了防止人们编写脚本--short
,因为它从来没有打算保持稳定.
所以,是的,虽然--porcelain
它本身是稳定的和可编写脚本的,但它可能不是最友好的解析器."-z --porcelain
"格式更是如此,我会推荐给任何围绕"git status"编写脚本的人
这反映了git用户在脚本中使用瓷器命令的需要!
但只有稳定的输出(有--porcelain
)
--porcelain
Run Code Online (Sandbox Code Playgroud)
生成机器可读输出.
每个引用的输出状态行将以制表符分隔并发送到stdout
而不是stderr
.
将给出参考的完整符号名称.
正如John Glassmyer 在评论中提出的那样:
也许这里的意思
--porcelain
是"产生适合瓷器消费的产品".
这可以得到第一个" --porcelain
选项"引入案例的支持
(之前git status --porcelain
,提交6f15787,2009年9月,git 1.7.0,
之前git push --porcelain
,提交1965ff7,2009年6月,git 1.6.4):
-p
--porcelain
Run Code Online (Sandbox Code Playgroud)
以专为机器消耗而设计的格式显示.
新选项使命令的本机输出格式发出更容易由Porcelain处理的输出.
小智 55
git中的"瓷器"一词的使用和使用实际上是由迈克·塔特(Mike Taht)进行的,而其他方面则与Linus Torvalds失去了激烈的争论.
http://www.gelato.unsw.edu.au/archives/git/0504/0881.html
事实上,我的一个希望是其他SCM可以使用git管道.
但是我真的建议你自己使用"git",而不是任何"libgit
".即你把所有的管道作为真正的程序,而不是试图链接个别例程,你编写脚本.如果你不想要它,我就不会这样做.
但是,将管道与瓷器分开仍然是有意义的.
BKS*_*eon 18
--porcelain
选项呢!?如果你想:
....然后您可以添加--porcelain
选项使用输出进行脚本编写。
我可以git status --porcelain
将输出用于脚本编写。
git 中的瓷器有两种不同的含义。
\n\n这两种含义虽然可以说并不严格矛盾,但可能看起来是矛盾的。
\n\nPro Git官方书籍:
\n\n\n\n\n但由于 Git 最初是版本控制系统的工具包,而不是完全用户友好的 VCS,因此它有许多执行低级工作的子命令,并且被设计为以 UNIX 风格链接在一起或从脚本调用。这些命令一般称为 Git\xe2\x80\x99s \xe2\x80\x9cplumbing\xe2\x80\x9d 命令,而更方便用户使用的命令称为 \xe2\x80\x9cporcelain\xe2\x80\x9d 命令。
\n
--porcelain
/=porcelain
选项许多 git 命令都带有一个用于--porcelain
脚本编写的选项。
git status
\'文档:
\n\n\n\n\n
--porcelain[=<version>]
以易于解析的脚本格式提供输出。这与短输出类似,但无论用户配置如何,跨 Git 版本都将保持稳定。详情请参阅下文。
\n
git diff
\ 的文档:
\n\n\n\n
--word-diff[=<mode>]
瓷
\n\n使用用于脚本使用的特殊的基于行的格式。
\n
瓷器命令是为人类消费而设计的,而不是命令,其输出很容易被计算机解析.git status
就是一个例子.
归档时间: |
|
查看次数: |
67926 次 |
最近记录: |