Termin „porcelana” pojawia się czasami w dokumentacji Git. Co to znaczy?
git
terminology
Jan Hettich
źródło
źródło
Co ważniejsze, termin „porcelana” odnosi się do poleceń wysokiego poziomu , z wyjściem:
To jest klucz: jeśli piszesz, powinieneś używać, jeśli to możliwe, poleceń hydraulicznych ze stabilnymi wyjściami. Nie porcelanowe polecenia.
Jednakże, można użyć wyjściowe polecenia porcelany, który ma
--porcelain
opcję w skrypcie (patrz poniżej), takich jak:Zobacz „ Jak programowo ustalić, czy są niezatwierdzone zmiany? ” Jako przykład użycia poleceń hydraulicznych zamiast porcelanowych.
Uwaga: Polecenie porcelanowe może mieć
--porcelain
opcję.Na przykład:,
git status --porcelain
który oznacza wynik przeznaczony do przeanalizowania .Wątek wspomniany powyżej:
To odzwierciedla potrzebę korzystania z porcelanowych poleceń w skryptach przez użytkowników git!
Ale tylko przy stabilnej wydajności (z
--porcelain
)Jak skomentował przez william-Berg , to samo dotyczy
git push
!Jak John Glassmyer proponuje w komentarzach :
I może to być wspierane przez pierwszy przypadek wprowadzenia „
--porcelain
opcji”(wcześniej
git status --porcelain
, zatwierdzenie 6f15787, wrzesień 2009, git 1.7.0 ,wcześniej
git push --porcelain
, zatwierdzenie 1965ff7, czerwiec 2009, git 1.6.4 ):git blame --porcelain
:Commit b5c698d, październik 2006, git 1.4.4
źródło
git push
ma podobnie anomalny odczyt maszynowy--porcelain
.--porcelain
jest „produkcja wyjściowa nadająca się do konsumpcji za pomocą skryptów porcelanowych”.git diff-tree --word-diff=porcelain
Moneta i użycie terminu „porcelana” w git zostało faktycznie napisane przez Mike'a Tahta, a poza tym przegrał gorącą dyskusję z Linusem Torvaldsem.
http://www.gelato.unsw.edu.au/archives/git/0504/0881.html
źródło
- Porcelana , Git Wiki
źródło
Polecenia porcelanowe są przeznaczone do spożycia przez ludzi, w przeciwieństwie do poleceń, których dane wyjściowe są łatwe do przeanalizowania przez komputery.
git status
byłby jednym przykładem.źródło
--porcelain
opcji, będą one przeznaczone do spożycia przez maszynę.git status --porcelain
: Daj wynik w łatwym do przeanalizowania formacie dla skryptów. (...), ale pozostanie stabilny we wszystkich wersjach Git i niezależnie od konfiguracji użytkownika.git status --porcelain
ma stabilny format, który można analizować, alestatus
samo polecenie jest zaprojektowane tak, aby było skierowane do użytkownika (w przeciwieństwie do, na przykład,git ls-files
).Krótkie i proste wyjaśnienie
Ale co z mylącą
--porcelain
opcją !?--porcelain
opcję, a następnie użyj danych wyjściowych do tworzenia skryptów. Zasadniczo autorzy git domyślnie obiecują, że niczego tu nie zmienią, w najbliższym czasie. przykład: mogę używaćgit status --porcelain
i używać danych wyjściowych do tworzenia skryptów, co byłoby całkowicie w porządku.Skąd się bierze terminologia związana z porcelaną / hydrauliką?
źródło
For more detail, checkout VonC's answer.
--porcelain
na już „porcelanowych” poleceniach w celu osiągnięcia funkcjonalności „pseudo-hydraulicznej” bardzo dobrze komponuje się z ogólnym projektem interfejsu użytkownika Git ...;)--plumbing
(tym razem jesteś hydraulikiem, a nie zwykłym użytkownikiem „porcelany”).Odpowiedź Grega Hewgilla jest dokładnie poprawna. Pamiętaj, że dla Git dostępne są alternatywne porcelany, w tym Easy Git, yap, piryt i vng. Każda z nich ma ułatwić Gitowi naukę / korzystanie z niej przez jakąś część społeczności. Linki do wszystkich tych projektów znajdują się na stronie Easy Git: http://people.gnome.org/~newren/eg/ .
źródło
https://git.wiki.kernel.org/index.php/Porcelain
źródło
Istnieją dwa różne znaczenia porcelany w git.
Te dwa znaczenia, chociaż można argumentować, nie są ze sobą ściśle sprzeczne, mogą wydawać się sprzeczne.
A. Konceptualna (hydraulika kontra porcelana)
Oficjalna książka Pro Git :
B.
--porcelain
/=porcelain
opcjeWiele poleceń git pochodzą z
--porcelain
opcji, które jest przeznaczone dla skryptów.git status
„ dokumentacja :git diff
„s dokumentacji :źródło