जवाबों:
"पोर्सिलेन" वह सामग्री है जिसमें से शौचालय आमतौर पर बनाए जाते हैं (और कभी-कभी अन्य फिक्स्चर जैसे वॉशबेसिन)। यह "नलसाजी" (वास्तविक पाइप और नालियों) से अलग है, जहां चीनी मिट्टी के बरतन नलसाजी के लिए एक अधिक उपयोगकर्ता के अनुकूल इंटरफेस प्रदान करता है।
Git इस शब्दावली का उपयोग सादृश्य में, निम्न-स्तरीय आदेशों को अलग करने के लिए करता है जो उपयोगकर्ताओं को आमतौर पर अधिक उपयोगकर्ता के अनुकूल उच्च स्तरीय कमांड ("चीनी मिट्टी के बरतन") से सीधे ("नलसाजी") का उपयोग करने की आवश्यकता नहीं होती है।
अधिक महत्वपूर्ण बात, "पोर्सिलेन" शब्द आउटपुट के साथ उच्च-स्तरीय कमांड पर लागू होता है :
यह कुंजी है: यदि आप स्क्रिप्ट करते हैं, तो आपको स्थिर आउटपुट के साथ, यदि संभव हो तो प्लंबिंग कमांड का उपयोग करना चाहिए । चीनी मिट्टी के बरतन आदेश नहीं।
हालांकि, आप एक चीनी मिट्टी के बरतन कमांड के आउटपुट का उपयोग कर सकते हैं जिसमें --porcelain
स्क्रिप्ट में एक विकल्प है (नीचे देखें), जैसे:
git status --porcelain
git push --porcelain
git blame --porcelain
यद्यपि गिट में अपनी स्वयं की चीनी मिट्टी की परत शामिल है , इसके निम्न-स्तरीय कमांड वैकल्पिक पोर्सलेन के विकास का समर्थन करने के लिए पर्याप्त हैं।
इन निम्न-स्तरीय आदेशों के लिए इंटरफ़ेस (इनपुट, आउटपुट, विकल्पों का सेट और शब्दार्थ) पोर्सिलेन स्तर के कमांड की तुलना में बहुत अधिक स्थिर होते हैं, क्योंकि ये कमांड मुख्य रूप से स्क्रिप्टेड उपयोग के लिए हैं ।
दूसरी ओर पोर्सिलेन कमांड का इंटरफ़ेस अंतिम उपयोगकर्ता अनुभव को बेहतर बनाने के लिए परिवर्तन के अधीन है।
देख " चीनी मिट्टी के बरतन के बजाय नलसाजी आदेशों का उपयोग करने के लिए एक उदाहरण के रूप में, अगर मैं बिना परिवर्तन किए गए हैं, तो मैं प्रोग्रामेटिक रूप से कैसे निर्धारित कर सकता हूं ।
नोट: एक चीनी मिट्टी के बरतन आदेश में एक --porcelain
विकल्प हो सकता है ।
उदाहरण के लिए:, git status --porcelain
जो आउटपुट को पार्स करने का मतलब है ।
--porcelain
स्क्रिप्ट के लिए एक आसान-से-पार्स प्रारूप में आउटपुट दें। यह लघु आउटपुट के समान है, लेकिन गिट संस्करणों में स्थिर रहेगा और उपयोगकर्ता विन्यास की परवाह किए बिना। विवरण के लिए नीचे देखें।
उपरोक्त विवरण में वर्णित धागा:
यह मेरी गलती है, कुछ हद तक।
"शॉर्ट स्थिति" प्रपत्र है मानव आंखों के लिए, और Junio द्वारा डिजाइन किया गया था।
कुछ लोग एक स्क्रिप्ट करने योग्य स्थिति आउटपुट भी चाहते थे, इसलिए मैंने--porcelain
उसी प्रारूप पर एक " " थप्पड़ मारा, जो सापेक्ष पथनाम और रंग-विन्यास जैसे विन्यास योग्य सुविधाओं को बंद कर देता है, और एक अंतर्निहित वादा करता है कि हम प्रारूप में और बदलाव नहीं करेंगे।
यह विचार आसपास के लोगों को स्क्रिप्टिंग से रोकने के लिए था--short
, क्योंकि यह कभी स्थिर होने का इरादा नहीं था।
तो हाँ, जबकि--porcelain
अपने आप में स्थिर और स्क्रिप्ट योग्य है, यह शायद पार्सर्स के लिए सबसे अनुकूल नहीं है। "-z --porcelain
" प्रारूप बहुत अधिक है, और मैं इसे "गिट स्थिति" के आसपास किसी को भी स्क्रिप्ट करने की सलाह दूंगा
यह git उपयोगकर्ताओं के लिए, उनकी लिपियों में चीनी मिट्टी के बरतन आदेशों का उपयोग करने की आवश्यकता को दर्शाता है!
लेकिन केवल स्थिर आउटपुट (साथ --porcelain
)
जैसा कि विलियम-बर्ग ने टिप्पणी की थी , वही आगे बढ़ता है !git push
--porcelain
उत्पादन मशीन पठनीय उत्पादन।
प्रत्येक रेफ के लिए आउटपुट स्थिति रेखा टैब-अलग की जाएगी औरstdout
इसके बजाय भेजी जाएगीstderr
।
Refs के पूर्ण प्रतीकात्मक नाम दिए जाएंगे।
जैसा कि जॉन ग्लासमर टिप्पणियों में प्रस्ताव करते हैं :
शायद यहाँ का अर्थ
--porcelain
"पोर्सिलेन लिपियों द्वारा खपत के लिए उपयुक्त उत्पादन का उत्पादन" है ।
और " --porcelain
विकल्प" परिचय
(इससे पहले git status --porcelain
, 6f15787, सितंबर 2009, git 1.7.0 ,
इससे पहले git push --porcelain
, 1965ff7, जून 2009, git 1.6.4 प्रतिबद्ध करें) के पहले मामले से समर्थित हो सकता है :
-p
--porcelain
मशीन की खपत के लिए डिज़ाइन किए गए प्रारूप में दिखाएं।
प्रतिबद्ध b5c698d, अक्टूबर 2006, git 1.4.4
नया विकल्प आउटपुट उत्पन्न करने के लिए कमांड के मूल आउटपुट स्वरूप को बनाता है जो कि पोर्सिलेन द्वारा संभालना आसान है ।
git push
कि एक समान विसंगति मशीन पठनीय है --porcelain
।
--porcelain
यहाँ का अर्थ "पोर्सिलेन लिपियों द्वारा खपत के लिए उपयुक्त उत्पादन का उत्पादन" है।
git diff-tree --word-diff=porcelain
गिट में "चीनी मिट्टी के बरतन" शब्द का उपयोग और उपयोग वास्तव में माइक टाह द्वारा किया गया था, जबकि अन्यथा लिनुस टॉर्वाल्ड्स के साथ एक गर्म तर्क खो रहा था।
http://www.gelato.unsw.edu.au/archives/git/0504/0881.html
वास्तव में, मेरी एक आशा यह थी कि अन्य एससीएम सिर्फ गिट प्लंबिंग का उपयोग कर सकते हैं।
लेकिन फिर मैं वास्तव में सुझाव दूंगा कि आप "गिट" का उपयोग करें, किसी "libgit
" का नहीं। यानी आप सभी प्लंबिंग को वास्तविक कार्यक्रमों के रूप में लेते हैं, और व्यक्तिगत रूटीन के खिलाफ लिंक करने की कोशिश करने के बजाय, आप इसे स्क्रिप्ट करेंगे।यदि आप इसे नहीं चाहते हैं, तो मैं ऐसा नहीं करूंगा। हालांकि,
चीनी मिट्टी के बरतन से नलसाजी को अलग करने के लिए समझ में आता है , हालांकि।
चीनी मिट्टी के बरतन कार्यक्रमों के लिए प्यारा नाम है और कोर गिट के आधार पर कार्यक्रम के सूट, कोर गिट के लिए एक उच्च स्तरीय पहुंच पेश करते हैं। पोर्सलेन "प्लंबिंग" की तुलना में SCM इंटरफ़ेस का अधिक विस्तार करते हैं।
चीनी मिट्टी के बरतन आदेशों को मानव उपभोग के लिए डिज़ाइन किया गया है, उन आदेशों के विपरीत जिनके उत्पादन कंप्यूटर के लिए पार्स करना आसान है। git status
एक उदाहरण होगा।
--porcelain
विकल्प का उपयोग करते हैं , तो यह मशीन की खपत के लिए होता है।
git status --porcelain
: स्क्रिप्ट के लिए एक आसान-से-पार्स प्रारूप में आउटपुट दें। (...) लेकिन Git संस्करणों और उपयोगकर्ता कॉन्फ़िगरेशन की परवाह किए बिना स्थिर रहेगा।
git status --porcelain
एक स्थिर प्रारूप है जिसे पार्स किया जा सकता है, लेकिन status
कमांड को स्वयं उपयोगकर्ता-सामना करने के लिए डिज़ाइन किया गया है (उदाहरण के लिए, इसके विपरीत git ls-files
)।
--porcelain
विकल्प के बारे में क्या !?--porcelain
और फिर स्क्रिप्टिंग के लिए आउटपुट का उपयोग करें। मूल रूप से git के लेखकों का तात्पर्य है कि जल्द ही किसी भी समय, वहां कुछ भी नहीं बदलने का वादा किया जाता है। उदाहरण: मैं git status --porcelain
स्क्रिप्टिंग के लिए आउटपुट का उपयोग और उपयोग कर सकता हूं और यह पूरी तरह से ठीक होगा।For more detail, checkout VonC's answer.
--porcelain
पहले से ही "चीनी मिट्टी के बरतन" नाम के एक विकल्प का उपयोग करके "छद्म-प्लंबिंग" कार्यक्षमता प्राप्त करने के लिए जीआईटी के सामान्य यूआई डिजाइन के साथ बहुत अच्छी तरह से मिश्रण किया जाता है;)
--plumbing
(क्योंकि आप इस समय एक प्लंबर हैं, नियमित "चीनी मिट्टी के बरतन" उपयोगकर्ता नहीं)।
ग्रेग हेविल का जवाब बिल्कुल सही है। ध्यान दें कि Git के लिए वैकल्पिक पोर्सलेन उपलब्ध हैं, जिनमें Easy Git, yap, pyrite और vng शामिल हैं। प्रत्येक का उद्देश्य समुदाय के कुछ हिस्से के लिए Git को सीखना / उपयोग करना आसान बनाना है। इन सभी परियोजनाओं के लिंक ईज़ी गेट पृष्ठ पर है: http://people.gnome.org/~newren/eg/ ।
चीनी मिट्टी के बरतन कार्यक्रमों के लिए प्यारा नाम है और कोर गिट के आधार पर कार्यक्रम के सूट, कोर गिट के लिए एक उच्च स्तरीय पहुंच पेश करते हैं।
गिट में चीनी मिट्टी के बरतन के दो अलग-अलग अर्थ हैं।
इन दो अर्थों, जबकि यह तर्क दिया जा सकता है कड़ाई से विरोधाभासी नहीं हैं, विरोधाभासी दिखाई दे सकते हैं।
आधिकारिक प्रो Git पुस्तक :
लेकिन क्योंकि Git शुरू में एक पूर्ण उपयोगकर्ता-अनुकूल VCS के बजाय एक संस्करण नियंत्रण प्रणाली के लिए एक टूलकिट था, इसमें कई उप-क्षेत्र होते हैं जो निम्न-स्तर का काम करते हैं और इन्हें UNIX- शैली के साथ जंजीरों में बांधने या स्क्रिप्ट से बुलाए जाने के लिए डिज़ाइन किया गया था। इन आदेशों को आम तौर पर गिट के "प्लंबिंग" कमांड के रूप में जाना जाता है, जबकि अधिक उपयोगकर्ता के अनुकूल कमांड को "चीनी मिट्टी के बरतन" कमांड कहा जाता है।
--porcelain
/ =porcelain
विकल्पकई git कमांड एक के साथ आते हैं --porcelain
विकल्प जो है पटकथा के लिए बने।
git status
' प्रलेखन :
--porcelain[=<version>]
स्क्रिप्ट के लिए एक आसान-से-पार्स प्रारूप में आउटपुट दें। यह लघु आउटपुट के समान है, लेकिन Git संस्करणों में स्थिर रहेगा और उपयोगकर्ता कॉन्फ़िगरेशन की परवाह किए बिना। जानकारी के लिए नीचे देखें।
git diff
के प्रलेखन :
--word-diff[=<mode>]
चीनी मिटटी
स्क्रिप्ट की खपत के लिए एक विशेष लाइन-आधारित प्रारूप का उपयोग करें।