"瓷器"是通常用于制作厕所 (有时也包括洗脸盆等设施) 的材料。这与 "管道"(实际的管道和排水)不同,其中瓷器为用户提供了更友好的接口来使用管道。
Git使用这个类比术语,将用户通常不需要直接使用的低级命令(“管道”)与更用户友好的高级命令(“瓷器”)分开。
--porcelain
选项的瓷器命令的输出(请参见下文),例如:git status --porcelain
git push --porcelain
git blame --porcelain
--porcelain
选项。git status --porcelain
,这表示一个旨在被解析的输出。--porcelain
--porcelain
stdout
而不是stderr
。
将提供引用的完整符号名称。
也许
--porcelain
在这里的意思是“生成适合于使用porcelain脚本的输出”。
这可以得到第一个支持"--porcelain
选项"的案例的支持
(在git status --porcelain
,提交6f15787,2009年9月,git 1.7.0之前,
在git push --porcelain
,提交1965ff7,2009年6月,git 1.6.4之前):
-p
--porcelain
git push
有一个类似异常的机器可读选项 --porcelain
。 - william.berg--porcelain
的含义可能是“产生适合于机器处理的输出结果”。 - John Glassmyer在Git中使用和铸造“瓷器”这个词实际上是由Mike Taht完成的,而当时他正在与Linus Torvalds激烈争论。
https://web.archive.org/web/20190427113112/http://www.gelato.unsw.edu.au/archives/git/0504/0881.html
实际上,我的一个希望是其他 SCM 可以直接使用 git 的基础设施。但我真正建议你使用“git”本身,而不是任何“libgit”。也就是说,你将所有基础设施作为真正的程序,并且不是试图链接到单独的例程,而是写成脚本。瓷器 == 易于更换
。--瓷器
选项怎么办!?如果你想要:
....那么你可以添加 --瓷器
选项并将输出用于脚本编写。
例子:我可以使用git status --porcelain
并将输出用于脚本编写,没有问题。
(批评很容易,尤其是如果没有提供替代方案 - 对git的创建者表示最高的尊重。)
要了解更多细节,请查看VonC的答案。
- BenKoshy--porcelain
的选项来实现“伪管道”功能与Git的通用UI设计非常搭配... ;) - Sz.--plumbing
(因为这次你是一个管道工,而不是普通的“porcelain”用户)。 - seeker_of_bacon在 Git 中有两个明显的“瓷器”意义。
虽然可以争论这两个意义并非严格相反,但它们可能看起来是互相矛盾的。
正式的Pro Git book:
但是由于 Git 最初是版本控制系统的工具包而不是完整的用户友好型 VCS,因此它有许多子命令可执行低级别工作,并设计为以 UNIX 风格链接在一起或从脚本中调用。这些命令通常称为 Git 的“管道”命令,而更易用的命令称为“瓷器”命令。
--porcelain
/ =porcelain
选项许多 Git 命令都配备了一个--porcelain
选项,该选项用于脚本编写。
git status
' 文档:
--porcelain[=<version>]
以易于脚本解析的格式输出内容。这与短格式输出类似,但将在所有Git版本和用户配置下保持稳定。有关详细信息,请参见下文。
git diff
文档:
--word-diff[=<mode>]
porcelain
使用一个特殊的基于行的格式,旨在供脚本使用。
瓷器命令旨在供人类使用,而不是计算机易于解析的命令的输出。例如git status
。
--porcelain
选项时,它则是为机器消费而设计的。 - ThomasWgit status --porcelain
: 以易于脚本解析的格式输出结果。(...) 但它将在 Git 版本之间保持稳定,并且不受用户配置的影响。 - tymtamgit status --porcelain
具有可解析的稳定格式,但status
命令本身旨在面向用户(例如,与git ls-files
相反)。 - dahlbyk
git status
)会去除人类可读的冗长性并使结果更加机器可读呢? - jez