El término "porcelana" aparece ocasionalmente en la documentación de Git. Qué significa eso?
git
terminology
Jan Hettich
fuente
fuente
Más importante aún, el término "porcelana" se aplica a los comandos de alto nivel , con salida:
Esa es la clave: si escribe, debe usar, si es posible , comandos de plomería , con salidas estables. No comandos de porcelana.
Sin embargo, puede usar la salida de un comando de porcelana que tiene una
--porcelain
opción en el script (ver a continuación), como:Consulte " ¿Cómo determino programáticamente si hay cambios no confirmados? " Como ejemplo para usar comandos de plomería en lugar de los de porcelana.
Nota: Un comando de porcelana puede tener una
--porcelain
opción.Por ejemplo:,
git status --porcelain
que designa una salida destinada a ser analizada .El hilo mencionado anteriormente detalla:
¡Eso refleja la necesidad, para los usuarios de git, de usar comandos de porcelana en sus scripts!
Pero solo con salida estable (con
--porcelain
)Como se ha comentado por William-berg , lo mismo pasa
git push
!Como John Glassmyer propone en los comentarios :
Y eso podría estar respaldado por el primer caso de
--porcelain
introducción de " opción"(antes
git status --porcelain
, commit 6f15787, septiembre de 2009, git 1.7.0 ,antes
git push --porcelain
, commit 1965ff7, junio de 2009, git 1.6.4 ):git blame --porcelain
:Commit b5c698d, octubre de 2006, git 1.4.4
fuente
git push
tiene una lectura mecánica anómala similar--porcelain
.--porcelain
aquí es "producir productos aptos para el consumo de guiones de porcelana".git diff-tree --word-diff=porcelain
La acuñación y el uso del término "porcelana" en git fue en realidad de Mike Taht, mientras que, de lo contrario, perdió una acalorada discusión con Linus Torvalds.
http://www.gelato.unsw.edu.au/archives/git/0504/0881.html
fuente
- Porcelana , Git Wiki
fuente
Los comandos de porcelana están diseñados para el consumo humano, a diferencia de los comandos cuya salida es fácil de analizar para las computadoras.
git status
Sería un ejemplo.fuente
--porcelain
opción, es para consumo de máquina.git status --porcelain
: Proporcione la salida en un formato fácil de analizar para los scripts. (...) pero se mantendrá estable en todas las versiones de Git e independientemente de la configuración del usuario.git status --porcelain
tiene un formato estable que se puede analizar, pero elstatus
comando en sí está diseñado para ser dirigido al usuario (en lugar de, por ejemplogit ls-files
).La explicación breve y simple
¿Pero qué pasa con la
--porcelain
opción confusa ?--porcelain
opción y luego use la salida para la secuencia de comandos. Básicamente, los autores de git están implícitamente prometiendo no cambiar nada allí, en el corto plazo. ejemplo: puedo usargit status --porcelain
y usar la salida para las secuencias de comandos y eso estaría perfectamente bien.¿De dónde viene la terminología de porcelana / plomería?
fuente
For more detail, checkout VonC's answer.
--porcelain
en comandos ya "porcelana" para lograr la funcionalidad de "pseudo-plomería" combina muy bien con el diseño general de la interfaz de usuario de Git ...;)--plumbing
(ya que esta vez es un plomero, no un usuario habitual de "porcelana").La respuesta de Greg Hewgill es exactamente correcta. Tenga en cuenta que hay porcelanas alternativas disponibles para Git, que incluyen Easy Git, yap, pyrite y vng. Cada uno está destinado a hacer que Git sea más fácil de aprender / usar para alguna parte de la comunidad. Los enlaces a todos estos proyectos se encuentran en la página Easy Git: http://people.gnome.org/~newren/eg/ .
fuente
https://git.wiki.kernel.org/index.php/Porcelain
fuente
Hay dos significados distintos de porcelana en git.
Estos dos significados, si bien se puede argumentar que no son estrictamente contradictorios, pueden parecer contradictorios.
A. Conceptual (fontanería vs porcelana)
El libro oficial de Pro Git :
B.
--porcelain
/=porcelain
opcionesMuchos comandos de git vienen con una
--porcelain
opción que está destinada a secuencias de comandos.git status
' documentación :git diff
's documentación :fuente