"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 --porcelaindosyası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 --porcelainseç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--porcelaingö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--porcelaintek 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 vestdoutbunun 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 " --porcelainseç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 pushBenzer ş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 statusbir örnek olurdu.
--porcelainseç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 --porcelainayrıştırılabilecek sabit bir biçime sahip, ancak statuskomutun kendisi kullanıcı tarafından karşılanacak şekilde tasarlanmıştır (örneğin aksine git ls-files).
--porcelainseçenek ne olacak !?--porcelainseç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/ =porcelainseçeneklerBirçok git komutları bir ile gelen --porcelainseç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 diffadlı kullanıcının belgeleri :
--word-diff[=<mode>]porselen
Komut dosyası tüketimi için tasarlanmış özel bir satır tabanlı format kullanın.