"Porselen" terimi zaman zaman Git belgelerinde görünür. Bunun anlamı ne?
"Porselen" terimi zaman zaman Git belgelerinde görünür. Bunun anlamı ne?
Yanıtlar:
"Porselen" genellikle tuvaletlerin yapıldığı malzemedir (ve bazen lavabo gibi diğer armatürler). Bu, porselenin sıhhi tesisat için daha kullanıcı dostu bir arayüz sağladığı "sıhhi tesisat" (gerçek borular ve drenajlar) 'dan farklıdır.
Git, bu terminolojiyi benzer şekilde, kullanıcıların genellikle doğrudan kullanması gerekmeyen ("sıhhi tesisat") düşük seviye komutlarını daha kullanıcı dostu yüksek seviye komutlarından ("porselen") ayırmak için kullanır.
Daha da önemlisi, "porselen" terimi , çıktısı olan üst düzey komutlar için geçerlidir :
Bu anahtar: komut dosyası kullanıyorsanız, mümkünse sabit çıkışlarla sıhhi tesisat komutlarını kullanmalısınız . Porselen komutları değil.
Ancak, komut --porcelain
dosyasında (aşağıya bakın) seçeneği olan bir porselen komutunun çıktısını kullanabilirsiniz , örneğin:
git status --porcelain
git push --porcelain
git blame --porcelain
Git kendi porselen tabakasını içermesine rağmen , düşük seviyeli komutları alternatif porselenlerin gelişimini desteklemek için yeterlidir.
Bu düşük seviyeli komutların arabirimi (giriş, çıkış, seçenekler kümesi ve semantik) Porselen seviye komutlarından çok daha kararlı olmalıdır , çünkü bu komutlar öncelikle komut dosyası kullanımı içindir .
Öte yandan Porselen komutlarına arabirim, son kullanıcı deneyimini geliştirmek için değiştirilebilir.
"Bkz kararsız değişiklikler varsa ben programlı nasıl belirlenir? " Sıhhi tesisat komutları yerine porselen olanları kullanarak bir örnek olarak.
Not: Porselen komutunun bir --porcelain
seçeneği olabilir.
Örneğin:, ayrıştırılması gerekengit status --porcelain
bir çıktıyı belirtir .
--porcelain
Komut dosyaları için çıktıyı ayrıştırması kolay bir biçimde verin. Bu kısa çıktıya benzer, ancak git sürümlerinde ve kullanıcı yapılandırmasına bakılmaksızın sabit kalır. Ayrıntılar için aşağıya bakın.
Yukarıda belirtilen iplik detayları:
Bu benim hatam, bir dereceye kadar.
"Kısa durumu" formu olan insan gören gözler için anlamına geliyordu ve Junio tarafından tasarlanmıştır.
Bazı insanlar da yazılabilir bir durum çıktısı istedi, bu yüzden--porcelain
göreceli yol adları ve renklendirme gibi yapılandırılabilir özellikleri kapatan aynı biçimde bir " " tokatladım ve formatta daha fazla değişiklik yapmayacağımızla ilgili örtük bir söz verdim .
Fikir insanların etrafta senaryo yazmasını önlemekti--short
, çünkü asla istikrarlı olmadı.
Yani evet, süre--porcelain
tek başına olan istikrarlı ve komut girişi, belki ayrıştırıcıları en dostça değildir. "-z --porcelain
" Biçimi çok daha fazla ve ben "git status" etrafında komut dosyası olan herkese tavsiye ederim
Bu, git kullanıcıları için komut dosyalarında porselen komutlarını kullanma ihtiyacını yansıtır!
Ancak sadece kararlı çıktı ile (ile --porcelain
)
William-berg tarafından yorumlandığı gibi , aynı şey geçerli !git push
--porcelain
Makinede okunabilir çıktılar üretin.
Her ref için çıkış durum satırı sekmeyle ayrılır vestdout
bunun yerine adresine gönderilirstderr
.
Referansların tam sembolik isimleri verilecektir.
As John Glassmyer önermektedir yorumlarda :
Belki de buradaki anlam
--porcelain
"porselen senaryolarla tüketime uygun çıktı üretmek" dir .
Ve bu ilk " --porcelain
seçenek" girişiyle desteklenebilir
(önce git status --porcelain
, 6f15787, Eylül 2009, git 1.7.0 ,
önce git push --porcelain
, 1965ff7, Haziran 2009, git 1.6.4 ):
-p
--porcelain
Makine tüketimi için tasarlanmış bir formatta gösterin.
Taahhüt b5c698d, Ekim 2006, git 1.4.4
Yeni seçenek, Porselen tarafından işlenmesi daha kolay çıktı üretmek için komutun doğal çıktı formatını oluşturur .
git push
Benzer şekilde anormal bir makine tarafından okunabilir olduğunu fark ettim --porcelain
.
--porcelain
"porselen senaryolarla tüketime uygun çıktı üretmek" tir.
git diff-tree --word-diff=porcelain
Git'teki "porselen" teriminin madeni para ve kullanımı aslında Mike Taht'a aitken, aksi halde Linus Torvalds ile ateşli bir tartışmayı kaybetti.
http://www.gelato.unsw.edu.au/archives/git/0504/0881.html
Aslında, benim umutlarımdan biri, diğer SCM'lerin git tesisatını kullanabilmesiydi.
Ama sonra gerçekten "git" 'i kullanmanızı öneririmlibgit
. Yani tüm tesisatları gerçek programlar olarak alıyorsunuz ve bireysel rutinlerle bağlantı kurmaya çalışmak yerine, senaryo yazıyorsunuz .Eğer istemiyorsan, yapmayacağım.
Yine de, sıhhi tesisatı porselenden ayırmak mantıklı .
Çekirdek git'e yüksek düzeyde erişim sunan porselen, programlar ve program paketleri için şirin bir isimdir. Porselenler, "tesisattan" daha fazla bir SCM arayüzü ortaya koyar.
Porselen komutları, çıktıları bilgisayarların ayrıştırması kolay olan komutların aksine insan tüketimi için tasarlanmıştır. git status
bir örnek olurdu.
--porcelain
seçeneği kullandığınızda makine tüketimi içindir.
git status --porcelain
: Çıktıya komut dosyaları için ayrıştırılması kolay bir format verin. (...) ancak Git sürümlerinde ve kullanıcı yapılandırmasından bağımsız olarak sabit kalacaktır.
git status --porcelain
ayrıştırılabilecek sabit bir biçime sahip, ancak status
komutun kendisi kullanıcı tarafından karşılanacak şekilde tasarlanmıştır (örneğin aksine git ls-files
).
--porcelain
seçenek ne olacak !?--porcelain
seçeneği ve daha sonra komut dosyası oluşturmak için çıktıyı kullanın. Temelde git yazarları, yakın zamanda orada hiçbir şeyi değiştirmemeyi vaat ediyorlar. Örnek: git status --porcelain
Çıktıyı komut dosyası oluşturmak için kullanabilir ve kullanabilirsiniz ve bu mükemmel olur.For more detail, checkout VonC's answer.
--porcelain
"yalancı sıhhi tesisat" işlevselliği elde etmek için zaten "porselen" komutları adlı bir seçeneği kullanarak Git genel genel UI tasarımı ile harmanlanır ...;)
--plumbing
(bu sefer bir tesisatçı olduğunuzdan, normal bir "porselen" kullanıcı değil).
Greg Hewgill'in yanıtı kesinlikle doğru. Git için Easy Git, yap, pyrite ve vng gibi alternatif porselenler bulunduğunu unutmayın. Her birinin Git'i topluluğun bir kısmı için öğrenmesini / kullanmayı kolaylaştırması amaçlanmıştır. Tüm bu projelere bağlantılar Easy Git sayfasında bulunmaktadır: http://people.gnome.org/~newren/eg/ .
Çekirdek git'e yüksek düzeyde erişim sunan porselen, programlar ve program paketleri için şirin bir isimdir.
Git'te porselenin iki farklı anlamı vardır.
Bu iki anlam tartışıldığı halde kesinlikle çelişkili olmasa da çelişkili görünebilir.
Resmi Pro Git kitabı :
Ancak Git başlangıçta tam kullanıcı dostu bir VCS yerine bir sürüm kontrol sistemi için bir araç takımı olduğundan, düşük düzeyli işler yapan ve UNIX stili ile zincirlenecek veya komut dosyalarından çağrılacak şekilde tasarlanmış bir dizi alt komut içerir. Bu komutlar genellikle Git'in “tesisat” komutları olarak adlandırılırken, daha kullanıcı dostu komutlara “porselen” komutları denir.
--porcelain
/ =porcelain
seçeneklerBirçok git komutları bir ile gelen --porcelain
seçenek olan komut dosyası için geliyordu.
git status
' belgeleri :
--porcelain[=<version>]
Komut dosyaları için çıktıyı ayrıştırması kolay bir biçimde verin. Bu kısa çıktıya benzer, ancak Git sürümlerinde ve kullanıcı yapılandırmasından bağımsız olarak sabit kalır. Ayrıntılar için aşağıya bakın.
git diff
adlı kullanıcının belgeleri :
--word-diff[=<mode>]
porselen
Komut dosyası tüketimi için tasarlanmış özel bir satır tabanlı format kullanın.