Le terme "porcelaine" apparaît occasionnellement dans la documentation de Git. Qu'est-ce que ça veut dire?
git
terminology
Jan Hettich
la source
la source
Plus important encore, le terme "porcelaine" s'applique aux commandes de haut niveau , avec sortie:
C'est la clé: si vous scriptez, vous devez utiliser si possible des commandes de plomberie , avec des sorties stables. Pas des commandes en porcelaine.
Cependant, vous pouvez utiliser la sortie d'une commande porcelain qui a une
--porcelain
option dans le script (voir ci-dessous), comme:Voir « Comment puis-je déterminer par programme s'il y a des modifications non validées? » Comme exemple d'utilisation des commandes de plomberie au lieu de celles en porcelaine.
Remarque: Une commande porcelaine peut avoir une
--porcelain
option.Par exemple:,
git status --porcelain
qui désigne une sortie destinée à être analysée .Le fil mentionné ci-dessus détaille:
Cela reflète la nécessité, pour les utilisateurs de git, d'utiliser des commandes porcelain dans leurs scripts!
Mais seulement avec une sortie stable (avec
--porcelain
)Comme commenté par william-berg , la même chose pour
git push
!Comme John Glassmyer le propose dans les commentaires :
Et cela pourrait être soutenu par le tout premier cas d'
--porcelain
introduction d '" option"(avant
git status --porcelain
, commit 6f15787, septembre 2009, git 1.7.0 ,avant
git push --porcelain
, commit 1965ff7, juin 2009, git 1.6.4 ):git blame --porcelain
:Commit b5c698d, octobre 2006, git 1.4.4
la source
git push
a une anomalie similaire lisible par machine--porcelain
.--porcelain
ici est "produire des résultats propres à la consommation par des scripts en porcelaine".git diff-tree --word-diff=porcelain
Le monnayage et l'utilisation du terme "porcelaine" en git ont en fait été commis par Mike Taht, tout en perdant autrement une vive discussion avec Linus Torvalds.
http://www.gelato.unsw.edu.au/archives/git/0504/0881.html
la source
- Porcelaine , Git Wiki
la source
Les commandes en porcelaine sont conçues pour la consommation humaine, contrairement aux commandes dont la sortie est facile à analyser pour les ordinateurs.
git status
serait un exemple.la source
--porcelain
option, elles concernent la consommation de la machine.git status --porcelain
: Donnez la sortie dans un format facile à analyser pour les scripts. (...) mais restera stable dans toutes les versions de Git et quelle que soit la configuration de l'utilisateur.git status --porcelain
a un format stable qui peut être analysé, mais lastatus
commande elle-même est conçue pour être accessible à l'utilisateur (par opposition à, par exemple,git ls-files
).L'explication courte et simple
Mais qu'en est-il de l'
--porcelain
option déroutante !?--porcelain
option, puis utilisez la sortie pour les scripts. Fondamentalement, les auteurs de git promettent implicitement de ne rien y changer, de sitôt. exemple: je peux utilisergit status --porcelain
et utiliser la sortie pour les scripts et ce serait parfaitement correct.D'où vient la terminologie porcelaine / plomberie?
la source
For more detail, checkout VonC's answer.
--porcelain
sur des commandes déjà "porcelaine" pour obtenir la fonctionnalité "pseudo-plomberie", cela se marie très bien avec la conception générale de l'interface utilisateur de Git ...;)--plumbing
(puisque vous êtes plombier cette fois, pas un utilisateur régulier de "porcelaine").La réponse de Greg Hewgill est exactement correcte. Notez qu'il existe des porcelaines alternatives disponibles pour Git, y compris Easy Git, yap, pyrite et vng. Chacun est destiné à rendre Git plus facile à apprendre / à utiliser pour une partie de la communauté. Les liens vers tous ces projets se trouvent sur la page Easy Git: http://people.gnome.org/~newren/eg/ .
la source
https://git.wiki.kernel.org/index.php/Porcelain
la source
Il y a deux significations distinctes de porcelaine dans git.
Ces deux significations, bien qu'elles puissent être argumentées ne sont pas strictement contradictoires, peuvent apparaître contradictoires.
A. Conceptuel (plomberie vs porcelaine)
Le livre officiel de Pro Git :
B.
--porcelain
/=porcelain
optionsDe nombreuses commandes git viennent avec une
--porcelain
possibilité qui est destiné à des scripts.git status
« documentation :git diff
la documentation de :la source