GoGPT Best VPN GoSearch

ऑनवर्क्स फ़ेविकॉन

गिट-लॉग - क्लाउड में ऑनलाइन

उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर पर ऑनवर्क्स मुफ्त होस्टिंग प्रदाता में गिट-लॉग चलाएं

यह कमांड गिट-लॉग है जिसे हमारे कई मुफ्त ऑनलाइन वर्कस्टेशन जैसे कि उबंटू ऑनलाइन, फेडोरा ऑनलाइन, विंडोज ऑनलाइन एमुलेटर या मैक ओएस ऑनलाइन एमुलेटर का उपयोग करके ऑनवर्क्स फ्री होस्टिंग प्रदाता में चलाया जा सकता है।

कार्यक्रम:

नाम


गिट-लॉग - प्रतिबद्ध लॉग दिखाएं

SYNOPSIS


Git लॉग इन [ ] [ ] [[--] ...]

वर्णन


प्रतिबद्ध लॉग दिखाता है.

जो दिखाया गया है उसे नियंत्रित करने के लिए कमांड git Rev-list कमांड पर लागू विकल्प लेता है
और कैसे, और git diff-* कमांड पर लागू विकल्प यह नियंत्रित करने के लिए कि प्रत्येक परिवर्तन कैसे होता है
प्रतिबद्ध परिचय दिखाए गए हैं।

विकल्प


--पालन करना
नाम बदलने के अलावा फ़ाइल के इतिहास को सूचीबद्ध करना जारी रखें (केवल एक फ़ाइल के लिए काम करता है)।

--नहीं-सजाओ, --सजाओ[=लघु|पूर्ण|नहीं]
दिखाए गए किसी भी कमिट के रेफरी नाम प्रिंट करें। अगर कम निर्दिष्ट है, रेफरी
नाम उपसर्ग संदर्भ/प्रमुख/, संदर्भ/टैग/ और रेफरी/रिमोट/ मुद्रित नहीं किया जाएगा. अगर पूर्ण
निर्दिष्ट किया गया है, पूरा रेफरी नाम (उपसर्ग सहित) मुद्रित किया जाएगा। डिफ़ॉल्ट विकल्प
is कम.

--स्रोत
कमांड लाइन पर दिए गए रेफरी नाम को प्रिंट करें जिसके द्वारा प्रत्येक कमिट तक पहुंचा गया था।

--उपयोग-मेलमैप
लेखक और कमिटर के नाम और ईमेल पते को कैनोनिकल में मैप करने के लिए मेलमैप फ़ाइल का उपयोग करें
वास्तविक नाम और ईमेल पते। देखना गिट-शॉर्टलॉग(1).

--पूर्ण-अंतर
इस फ़्लैग के बिना, git log -p ... ऐसे कमिट दिखाता है जो निर्दिष्ट पथों को स्पर्श करते हैं,
और समान निर्दिष्ट पथों के बारे में भिन्न है। इसके साथ, पूर्ण अंतर दिखाया गया है
कमिट जो निर्दिष्ट पथों को स्पर्श करते हैं; इसका मतलब यह है कि "..." केवल सीमित है
प्रतिबद्ध है, और उन प्रतिबद्धताओं के लिए अंतर को सीमित नहीं करता है।

ध्यान दें कि यह सभी अंतर-आधारित आउटपुट प्रकारों को प्रभावित करता है, उदा. --stat द्वारा निर्मित,
इत्यादि

--लॉग-आकार
प्रत्येक कमिट के लिए आउटपुट में एक लाइन "लॉग साइज " शामिल करें, जहां है
उस प्रतिबद्धता के संदेश की लंबाई बाइट्स में। लॉग पढ़ने वाले टूल को तेज़ करने का इरादा है
उन्हें पहले से स्थान आवंटित करने की अनुमति देकर गिट लॉग आउटपुट से संदेश।

-एल ,:, -एल ::
"द्वारा दी गई रेखा सीमा के विकास का पता लगाएं , " (या फ़ंक्शन नाम
regex ) के अंदर . आप कोई पाथस्पेक लिमिटर्स नहीं दे सकते। यह है
वर्तमान में एकल पुनरीक्षण से शुरू होने वाले वॉक तक सीमित है, यानी, आप केवल दे सकते हैं
शून्य या एक सकारात्मक संशोधन तर्क। आप इस विकल्प को एक से अधिक बार निर्दिष्ट कर सकते हैं.

तथा इनमें से कोई एक रूप ले सकते हैं:

· संख्या

अगर या एक संख्या है, यह एक निरपेक्ष रेखा संख्या निर्दिष्ट करती है (लाइनें गिनती
1 से)।

· /रेगेक्स/

यह फ़ॉर्म दिए गए POSIX रेगेक्स से मेल खाने वाली पहली पंक्ति का उपयोग करेगा। अगर एक है
रेगेक्स, यह पिछली -L श्रेणी के अंत से खोज करेगा, यदि कोई हो, अन्यथा
फ़ाइल की शुरुआत से। अगर "^/regex/" है, यह की शुरुआत से खोज करेगा
फ़ाइल। अगर एक रेगेक्स है, यह द्वारा दी गई लाइन से शुरू होकर खोज करेगा .

+ ऑफ़सेट या -ऑफ़सेट

यह केवल के लिए मान्य है और पहले या बाद में कई पंक्तियों को निर्दिष्ट करेगा
द्वारा दी गई रेखा .

अगर ": के स्थान पर दिया गया है तथा , यह एक नियमित अभिव्यक्ति है
जो मेल खाने वाली पहली funcname लाइन की सीमा को दर्शाता है , तक
अगली funcname पंक्ति। ": "पिछली -L श्रेणी के अंत से खोज करता है, if
कोई भी, अन्यथा फ़ाइल की शुरुआत से। "^: "फ़ाइल की शुरुआत से खोज करता है।


केवल निर्दिष्ट संशोधन सीमा में कमिट दिखाएँ। जब नहीं है
निर्दिष्ट, यह डिफ़ॉल्ट रूप से HEAD (अर्थात वर्तमान प्रतिबद्धता की ओर ले जाने वाला संपूर्ण इतिहास) पर निर्भर करता है।
मूल..HEAD वर्तमान कमिट (यानी HEAD) से पहुंच योग्य सभी कमिट निर्दिष्ट करता है,
लेकिन मूल से नहीं. वर्तनी लिखने के तरीकों की पूरी सूची के लिए , देखें
निर्दिष्ट करना सीमाओं की धारा गीट्रेविज़न(7).

[--] ...
केवल वही प्रतिबद्धताएँ दिखाएँ जो यह समझाने के लिए पर्याप्त हों कि फ़ाइलें निर्दिष्ट से कैसे मेल खाती हैं
रास्ते बन गए. देखना इतिहास सरलीकरण विवरण और अन्य के लिए नीचे
सरलीकरण मोड.

पथों को विकल्पों से अलग करने के लिए उन्हें ''--'' के साथ उपसर्ग करने की आवश्यकता हो सकती है
भ्रम उत्पन्न होने पर पुनरीक्षण सीमा।

करना सीमित
विशेष नोटेशन का उपयोग करके सूचीबद्ध किए जाने वाले कमिट्स की एक श्रृंखला निर्दिष्ट करने के अलावा
विवरण में समझाया गया है, अतिरिक्त कमिट लिमिटिंग लागू की जा सकती है।

अधिक विकल्पों का उपयोग करना आम तौर पर आउटपुट को और सीमित कर देता है (जैसे --since= करने के लिए सीमा
से नया करता है , और इसका उपयोग --grep= . के साथ करना प्रतिबद्ध करने के लिए और सीमाएं
जिनके लॉग संदेश में एक पंक्ति है जो मेल खाती है ), जब तक अन्यथा टिप्पणी।

ध्यान दें कि इन्हें कमिट ऑर्डर और फ़ॉर्मेटिंग विकल्पों से पहले लागू किया जाता है, जैसे कि
--उलटना।

- , -एन , --मैक्स-गिनती=
आउटपुट के लिए कमिट की संख्या सीमित करें।

--स्किप=
स्किप संख्या प्रतिबद्ध आउटपुट दिखाना शुरू करने से पहले करता है।

--से= , --बाद =
शो एक विशिष्ट तिथि से अधिक हाल ही में प्रतिबद्ध है।

-- तक = , --पहले=
शो एक विशिष्ट तिथि से पुराना है।

--लेखक= , --committer=
कमिट आउटपुट को लेखक/कमिटर हेडर लाइनों वाले लोगों तक सीमित करें जो मेल खाते हैं
निर्दिष्ट पैटर्न (नियमित अभिव्यक्ति)। एक से अधिक --author= . के साथ , करता है
जिसका लेखक दिए गए पैटर्न में से किसी से मेल खाता है (इसी तरह कई के लिए)
--committer= )

--grep-reflog=
निर्दिष्ट पैटर्न से मेल खाने वाली रीफ्लॉग प्रविष्टियों वाले कमिट आउटपुट को सीमित करें
(नियमित अभिव्यक्ति)। एक से अधिक --grep-reflog के साथ, जिसका reflog संदेश करता है
दिए गए पैटर्न में से किसी एक से मेल खाता है। इस विकल्प का उपयोग करना एक त्रुटि है जब तक
--walk-reflogs उपयोग में है।

--ग्रेप=
निर्दिष्ट पैटर्न से मेल खाने वाले लॉग संदेश वाले कमिट आउटपुट को सीमित करें
(नियमित अभिव्यक्ति)। एक से अधिक --grep= . के साथ , करता है जिसका संदेश
दिए गए पैटर्न में से कोई भी मेल खाता है (लेकिन देखें --all-match)।

जब --शो-नोट्स प्रभावी होता है, तो नोट्स से संदेश का मिलान इस प्रकार किया जाता है मानो वह हो
लॉग संदेश का भाग.

--ऑल-मैच
कमिट आउटपुट को उन लोगों तक सीमित करें जो सभी दिए गए --grep से मेल खाते हैं, बजाय इसके कि
कम से कम एक का मिलान करें।

--इनवर्ट-ग्रेप
कमिट आउटपुट को लॉग संदेश वाले लोगों तक सीमित करें जो पैटर्न से मेल नहीं खाते
--grep= . के साथ निर्दिष्ट .

-i, --regexp-अनदेखा-मामला
लेटर केस की परवाह किए बिना रेगुलर एक्सप्रेशन सीमित पैटर्न का मिलान करें।

--बेसिक-रेगेक्सप
बुनियादी नियमित अभिव्यक्ति होने के लिए सीमित पैटर्न पर विचार करें; यह डिफ़ॉल्ट है।

-ई, --विस्तारित-regexp
इसके बजाय नियमित अभिव्यक्तियों को विस्तारित करने के लिए सीमित पैटर्न पर विचार करें
डिफ़ॉल्ट मूल नियमित अभिव्यक्ति।

-एफ, --फिक्स्ड-स्ट्रिंग्स
सीमित पैटर्न को निश्चित तार मानने पर विचार करें (पैटर्न की व्याख्या a . के रूप में न करें)
नियमित अभिव्यक्ति)।

--perl-regexp
पर्ल-संगत नियमित अभिव्यक्ति होने के लिए सीमित पैटर्न पर विचार करें। आवश्यक है
libpcre में संकलित किया जाना है।

--निकालें-खाली
जब कोई रास्ता पेड़ से गायब हो जाए तो रुकें।

--विलय
प्रिंट केवल मर्ज करता है। यह बिल्कुल वैसा ही है जैसे --min-parents=2.

--नो-विलय
एक से अधिक माता-पिता के साथ कमिट प्रिंट न करें। यह बिल्कुल वैसा ही है जैसा
--मैक्स-माता-पिता = 1।

--मिन-माता-पिता= , --मैक्स-माता-पिता= , --no-min-parents, --no-max-parents
दिखाएँ केवल वही करता है जिसमें कम से कम (या अधिक से अधिक) होता है जो कई माता-पिता करते हैं। में
विशेष रूप से, --max-parents=1 --no-merges के समान है, --min-parents=2 समान है
- विलय। --max-parents=0 सभी रूट कमिट देता है और --min-parents=3 सभी ऑक्टोपस
विलीन हो जाता है।

--no-min-parents और --no-max-parents इन सीमाओं (बिना किसी सीमा के) को फिर से रीसेट करते हैं।
समतुल्य रूप हैं --min-parents=0 (किसी भी कमिट में 0 या अधिक माता-पिता हैं) और
--max-parents=-1 (ऋणात्मक संख्याएं कोई ऊपरी सीमा नहीं दर्शाती हैं)।

--प्रथम-माता-पिता
मर्ज कमिट देखने पर केवल पहले पैरेंट कमिट का पालन करें। यह विकल्प दे सकता है a
किसी विशेष विषय शाखा के विकास को देखते समय बेहतर अवलोकन, क्योंकि
एक विषय शाखा में विलय केवल अद्यतन अपस्ट्रीम से समायोजित करने के बारे में होता है
समय-समय पर, और यह विकल्प आपको लाए गए व्यक्तिगत प्रतिबद्धताओं को अनदेखा करने की अनुमति देता है
इस तरह के विलय से आपके इतिहास में। --bisect के साथ नहीं जोड़ा जा सकता।

--नहीं
का अर्थ उलट देता है ^ निम्नलिखित सभी संशोधनों के लिए उपसर्ग (या उसके अभाव)
विनिर्देशक, अगले तक --नहीं।

--सब
ढोंग करें जैसे कि refs/ में सभी refs कमांड लाइन पर सूचीबद्ध हैं: .

--शाखाएँ[= ]
ढोंग करें जैसे कि refs/heads में सभी refs कमांड लाइन पर सूचीबद्ध हैं: .
If दिया गया है, शाखाओं को दिए गए शेल ग्लोब से मेल खाने वाले तक सीमित करें। अगर पैटर्न
का अभाव ?, *या, [, /* अंत में निहित है।

--टैग[= ]
ढोंग करें जैसे कि refs/tags में सभी refs कमांड लाइन पर सूचीबद्ध हैं: . अगर
दिया गया है, दिए गए शेल ग्लोब से मेल खाने वाले टैग को सीमित करें। यदि पैटर्न की कमी है ?,
*या, [, /* अंत में निहित है।

--दूरस्थ[= ]
ढोंग करें जैसे कि रेफरी/रिमोट में सभी रेफरी कमांड लाइन पर सूचीबद्ध हैं: .
If दिया गया है, रिमोट-ट्रैकिंग शाखाओं को दिए गए शेल से मेल खाने वाली शाखाओं तक सीमित करें
ग्लोब यदि पैटर्न की कमी है ?, *या, [, /* अंत में निहित है।

--ग्लोब=
नाटक करें जैसे कि शेल ग्लोब से मेल खाने वाले सभी रेफरी पर सूचीबद्ध हैं
कमांड लाइन as । प्रमुख रेफरी/, गायब होने पर स्वचालित रूप से प्रीपेड हो जाता है। अगर
पैटर्न की कमी ?, *या, [, /* अंत में निहित है।

--बहिष्कृत =
रेफरी मिलान शामिल न करें कि अगला --all, --branches, --tags,
--remotes, या --glob अन्यथा विचार करेंगे। इस विकल्प की पुनरावृत्ति जमा होती है
अगले --all, --branches, --tags, --remotes, या --glob . तक बहिष्करण पैटर्न
विकल्प (अन्य विकल्प या तर्क संचित पैटर्न को स्पष्ट नहीं करते हैं)।

दिए गए पैटर्न refs/heads, refs/tags, या refs/remote से शुरू नहीं होने चाहिए जब
क्रमशः --branches, --tags, या --remotes पर लागू होता है, और उन्हें से शुरू होना चाहिए
refs/ जब --glob या --all पर लागू होता है। यदि एक अनुगामी /* इरादा है, यह दिया जाना चाहिए
स्पष्ट रूप से।

--रेफ्लॉग
ढोंग करें जैसे कि reflogs द्वारा उल्लिखित सभी वस्तुओं को कमांड लाइन पर सूचीबद्ध किया गया है
.

--अनदेखा-लापता
इनपुट में अमान्य ऑब्जेक्ट नाम देखने पर, ऐसा दिखावा करें जैसे कि खराब इनपुट नहीं था
दिया हुआ।

--द्विभाजित
ऐसा दिखावा करें जैसे कि खराब द्विभाजन रेफरी रेफरी/द्विभाजित/खराब सूचीबद्ध किया गया था और जैसे कि यह था
इसके बाद --not और कमांड लाइन पर अच्छा द्विभाजन refs refs/bisect/good-* होता है।
--प्रथम-अभिभावक के साथ नहीं जोड़ा जा सकता.

--stdin
करने के लिए इसके अलावा में कमांड लाइन पर सूचीबद्ध, उन्हें मानक से पढ़ें
इनपुट। यदि एक -- विभाजक देखा जाता है, पढ़ना बंद कर देता है और पथ पढ़ना शुरू करता है
परिणाम को सीमित करें।

--चेरी-चिह्न
जैसे --चेरी-पिक (नीचे देखें) लेकिन मार्क समकक्ष कमिट्स = के साथ छोड़े जाने के बजाय
उन्हें, और + के साथ असमान वाले।

--चुनना
किसी भी प्रतिबद्धता को छोड़ दें जो "दूसरी तरफ" पर एक और प्रतिबद्धता के समान परिवर्तन पेश करती है
जब कमिट का सेट सममित अंतर के साथ सीमित होता है।

उदाहरण के लिए, यदि आपके पास दो शाखाएं हैं, ए और बी, तो सभी कमिट्स को सूचीबद्ध करने का एक सामान्य तरीका है
उनमें से केवल एक पक्ष --बाएँ-दाएँ के साथ है (विवरण में नीचे दिया गया उदाहरण देखें
-- बाएँ-दाएँ विकल्प में से)। हालाँकि, यह उन कमिट्स को दिखाता है जो चेरी-चुने गए थे
दूसरी शाखा से (उदाहरण के लिए, "बी पर तीसरा" शाखा ए से चेरी-चुना जा सकता है)।
इस विकल्प के साथ, कमिट के ऐसे जोड़े को आउटपुट से बाहर रखा जाता है।

--बाएं-सिर्फ, --राइट-ओनली
सूची केवल सममित श्रेणी के संबंधित पक्ष पर प्रतिबद्ध होती है, अर्थात केवल वे जो
<resp के रूप में चिह्नित किया जाएगा। > बाय - लेफ्ट-राइट।

उदाहरण के लिए, --cherry-pick --right-only A...B उन कमिट्स को छोड़ देता है जो B में हैं
ए या पैच-ए में एक प्रतिबद्धता के बराबर हैं। दूसरे शब्दों में, यह + कमिट्स को सूचीबद्ध करता है
गिट चेरी एबी से अधिक सटीक, --चेरी-पिक --राइट-ओनली --नो-मर्ज देता है
सटीक सूची।

--चेरी
--right-only --cherry-mark --no-merges का पर्यायवाची; आउटपुट को सीमित करने के लिए उपयोगी
हमारी तरफ से कमिट करता है और उन लोगों को चिह्नित करता है जिन्हें ए के दूसरी तरफ लागू किया गया है
git log --cherry upstream...mybranch के साथ कांटा इतिहास, git चेरी के समान
अपस्ट्रीम मायब्रांच।

-जी, --वॉक-रिफ्लॉग्स
प्रतिबद्ध पूर्वजों की श्रृंखला पर चलने के बजाय, सबसे हाल की प्रविष्टियों को रीफ्लॉग करें
एक से बड़े। जब इस विकल्प का उपयोग किया जाता है, तो आप कमिट्स को बहिष्कृत करने के लिए निर्दिष्ट नहीं कर सकते हैं
(अर्थात्, ^प्रतिबद्ध, प्रतिबद्ध1..प्रतिबद्ध2, तथा प्रतिबद्ध1...प्रतिबद्ध2 नोटेशन का उपयोग नहीं किया जा सकता है)।

ऑनलाइन (स्पष्ट कारणों से) के अलावा -- सुंदर प्रारूप के साथ, यह आउटपुट का कारण बनता है
reflog से सूचना की दो अतिरिक्त पंक्तियाँ ली गई हैं। डिफ़ॉल्ट रूप से, प्रतिबद्ध@{Nth}
आउटपुट में नोटेशन का उपयोग किया जाता है। जब प्रारंभिक प्रतिबद्धता के रूप में निर्दिष्ट किया जाता है प्रतिबद्ध@{अब},
आउटपुट भी उपयोग करता है प्रतिबद्ध@{टाइमस्टैम्प} इसके बजाय अंकन। अंडर --pretty=online, the
प्रतिबद्ध संदेश एक ही पंक्ति पर इस जानकारी के साथ उपसर्ग करता है। यह विकल्प नहीं कर सकता
--reverse के साथ जोड़ा जाए। यह सभी देखें git-रीफ्लॉग(1).

--मर्ज
एक असफल विलय के बाद, ऐसे रेफरी दिखाएं जो संघर्ष वाली फाइलों को स्पर्श करते हैं और मौजूद नहीं हैं
सभी सिर मर्ज करने के लिए।

--सीमा
आउटपुट बहिष्कृत सीमा प्रतिबद्ध है। बाउंड्री कमिट - के साथ उपसर्ग हैं।

इतिहास सरलीकरण
कभी-कभी आप केवल इतिहास के कुछ हिस्सों में रुचि रखते हैं, उदाहरण के लिए कमिट्स
किसी विशेष को संशोधित करना . लेकिन इसके दो हिस्से हैं इतिहास सरलीकरण, एक भाग
कमिट्स का चयन कर रहा है और दूसरा यह है कि इसे कैसे करना है, क्योंकि इसके लिए विभिन्न रणनीतियाँ हैं
इतिहास को सरल बनाएं।

निम्नलिखित विकल्प दिखाए जाने वाले कमिट का चयन करें:


दिए गए को संशोधित करने के लिए प्रतिबद्ध है चुने गए हैं।

--सरल-दर-सजावट
कुछ शाखा या टैग द्वारा निर्दिष्ट किए गए कमिट्स का चयन किया जाता है।

ध्यान दें कि सार्थक इतिहास देने के लिए अतिरिक्त कमिट दिखाए जा सकते हैं।

निम्नलिखित विकल्प सरलीकरण के तरीके को प्रभावित करते हैं:

डिफ़ॉल्ट मोड
पेड़ की अंतिम स्थिति की व्याख्या करते हुए इतिहास को सरलतम इतिहास में सरल बनाता है।
सबसे सरल क्योंकि यह कुछ पार्श्व शाखाओं को काट देता है यदि अंतिम परिणाम समान होता है (अर्थात
समान सामग्री वाली शाखाओं का विलय)

--पूर्ण इतिहास
डिफ़ॉल्ट मोड के समान, लेकिन कुछ इतिहास को कम नहीं करता है।

--सघन
केवल चयनित कमिट दिखाए जाते हैं, साथ ही कुछ का एक सार्थक इतिहास होता है।

-- विरल
सरलीकृत इतिहास में सभी कमिट दिखाए गए हैं।

--सरलीकरण-विलय
परिणामी से कुछ अनावश्यक विलय को हटाने के लिए --full-history का अतिरिक्त विकल्प
इतिहास, क्योंकि इस मर्ज में योगदान करने के लिए कोई चयनित कमिट नहीं है।

--वंश-पथ
जब प्रदर्शित करने के लिए कमिट की एक श्रृंखला दी जाती है (जैसे प्रतिबद्ध1..प्रतिबद्ध2 or प्रतिबद्ध2 ^प्रतिबद्ध1),
केवल प्रदर्शन कमिट करता है जो सीधे पूर्वजों की श्रृंखला पर मौजूद होता है प्रतिबद्ध1 और
प्रतिबद्ध2, यानी कमिट जो दोनों के वंशज हैं प्रतिबद्ध1, और के पूर्वजों प्रतिबद्ध2.

एक और विस्तृत व्याख्या इस प्रकार है।

मान लीजिए कि आपने foo को the के रूप में निर्दिष्ट किया है . हम उन कमिट्स को कॉल करेंगे जो foo !TREESAME को संशोधित करते हैं,
और बाकी TREESAME। (फू के लिए फ़िल्टर किए गए अंतर में, वे अलग और समान दिखते हैं,
क्रमश।)

निम्नलिखित में, हम हमेशा एक ही उदाहरण इतिहास का उल्लेख करने के लिए देखेंगे
सरलीकरण सेटिंग्स के बीच अंतर। हम मानते हैं कि आप किसी फ़ाइल के लिए फ़िल्टर कर रहे हैं
इस प्रतिबद्ध ग्राफ में foo:

.-A----M---N---O---P---Q
/ / / / / / / / / / / /
IBCDEY
\ / / / / /
`---------------' एक्स

इतिहास की क्षैतिज रेखा A---Q को प्रत्येक मर्ज का प्रथम जनक माना जाता है। NS
प्रतिबद्ध हैं:

मैं प्रारंभिक प्रतिबद्धता है, जिसमें foo सामग्री "asdf" और एक फ़ाइल quux के साथ मौजूद है
सामग्री "quux" के साथ मौजूद है। प्रारंभिक कमिट की तुलना एक खाली पेड़ से की जाती है, इसलिए I है
!ट्रेसमे।

· ए में, फू में सिर्फ "फू" होता है।

· B में A के समान परिवर्तन होता है। इसका विलय M तुच्छ है और इसलिए सभी के लिए TREESAME है
माता-पिता।

· C foo नहीं बदलता है, लेकिन इसका मर्ज N इसे "foobar" में बदल देता है, इसलिए यह TREESAME नहीं है
किसी भी माता-पिता को।

· D foo को "baz" पर सेट करता है। इसका मर्ज O, N और D से स्ट्रिंग्स को "foobarbaz" से जोड़ता है;
यानी, यह किसी भी माता-पिता के लिए TREESAME नहीं है।

· E, qux को "xyzzy" में बदलता है, और इसका मर्ज P, स्ट्रिंग्स को "qux xyzzy" से जोड़ता है। पी is
O को TREESAME, लेकिन E को नहीं।

· X एक स्वतंत्र रूट कमिट है जिसने एक नया फ़ाइल पक्ष जोड़ा, और Y ने इसे संशोधित किया। वाई is
TREESAME से X. इसका मर्ज Q, P से जोड़ा गया, और Q, P से TREESAME है, लेकिन Y में नहीं।

पुनरीक्षण सूची इतिहास के माध्यम से पीछे की ओर चलती है, जिसमें शामिल हैं या छोड़कर शामिल हैं कि क्या
--पूर्ण-इतिहास और/या अभिभावक पुनर्लेखन (के माध्यम से --parents or --child) का उपयोग किया जाता है। NS
निम्नलिखित सेटिंग्स उपलब्ध हैं।

डिफ़ॉल्ट मोड
यदि वे किसी भी माता-पिता के लिए TREESAME नहीं हैं (हालांकि यह हो सकता है)
परिवर्तित, देखें -- विरल नीचे)। यदि प्रतिबद्धता एक विलय थी, और यह एक के लिए TREESAME थी
माता-पिता, केवल उस माता-पिता का अनुसरण करें। (भले ही कई TREESAME माता-पिता हों, अनुसरण करें
उनमें से केवल एक।) अन्यथा, सभी माता-पिता का पालन करें।

इसका परिणाम यह होगा:

.-ए---एन---ओ
// /
पहचान

ध्यान दें कि नियम केवल TREESAME माता-पिता का पालन कैसे करें, यदि कोई उपलब्ध है, तो B . को हटा दिया गया है
पूरी तरह से विचार से। सी को एन के माध्यम से माना जाता था, लेकिन यह TREESAME है। रूट कमिट
एक खाली पेड़ से तुलना की जाती है, इसलिए मैं !TREESAME हूं।

माता-पिता/बाल संबंध केवल माता-पिता के साथ दिखाई दे रहे हैं, लेकिन यह प्रभावित नहीं करता है
डिफ़ॉल्ट मोड में चयनित प्रतिबद्ध है, इसलिए हमने मूल रेखाएं दिखाई हैं।

- माता-पिता के पुनर्लेखन के बिना पूर्ण-इतिहास
यह मोड एक बिंदु में डिफ़ॉल्ट से अलग है: हमेशा मर्ज के सभी माता-पिता का पालन करें,
भले ही यह उनमें से एक के लिए TREESAME हो। भले ही मर्ज के एक से अधिक पक्ष हों
कमिट जो शामिल हैं, इसका मतलब यह नहीं है कि मर्ज ही है! में
उदाहरण, हमें मिलता है

आईएबीएनडीओपीक्यू

M को बाहर रखा गया क्योंकि यह माता-पिता दोनों के लिए TREESAME है। ई, सी और बी सभी चल रहे थे,
लेकिन केवल बी था! TREESAME, इसलिए अन्य प्रकट नहीं होते हैं।

ध्यान दें कि माता-पिता के पुनर्लेखन के बिना, इस बारे में बात करना वास्तव में संभव नहीं है
कमिट के बीच माता-पिता/बाल संबंध, इसलिए हम उन्हें डिस्कनेक्ट दिखाते हैं।

- माता-पिता के पुनर्लेखन के साथ पूर्ण-इतिहास
साधारण कमिट केवल तभी शामिल किए जाते हैं जब वे !TREESAME हों (हालाँकि इसे बदला जा सकता है,
देखें - नीचे विरल)।

विलय हमेशा शामिल होते हैं। हालाँकि, उनकी मूल सूची फिर से लिखी गई है: प्रत्येक के साथ
माता-पिता, उन कार्यों को दूर करें जो स्वयं शामिल नहीं हैं। इसका परिणाम यह होगा

.-A----M---N---O---P---Q
/ / / /
आईबी / डी /
\ / / / /
`---------------'

ऊपर फिर से लिखे बिना --पूर्ण-इतिहास से तुलना करें। ध्यान दें कि E को काट दिया गया था क्योंकि
यह TREESAME है, लेकिन P की मूल सूची को E के माता-पिता I को शामिल करने के लिए फिर से लिखा गया था
सी और एन, और एक्स, वाई और क्यू के लिए भी यही हुआ।

उपरोक्त सेटिंग्स के अतिरिक्त, आप बदल सकते हैं कि क्या TREESAME समावेशन को प्रभावित करता है:

--सघन
यदि वे किसी भी माता-पिता के लिए TREESAME नहीं हैं, तो चलने वाली प्रतिबद्धताओं को शामिल किया गया है।

-- विरल
चलने वाले सभी काम शामिल हैं।

ध्यान दें कि --पूर्ण-इतिहास के बिना, यह अभी भी विलय को सरल बनाता है: यदि माता-पिता में से कोई एक
TREESAME है, हम केवल उसी का अनुसरण करते हैं, इसलिए मर्ज के दूसरे पक्ष कभी नहीं होते हैं
चला।

--सरलीकरण-विलय
सबसे पहले, इतिहास का ग्राफ उसी तरह बनाएं जैसे कि --पूर्ण-इतिहास माता-पिता के पुनर्लेखन के साथ
करता है (ऊपर देखें)।

फिर प्रत्येक प्रतिबद्ध सी को उसके प्रतिस्थापन सी के अनुसार अंतिम इतिहास में सरल बनाएं
निम्नलिखित नियम:

· C' को C पर सेट करें।

· C' के प्रत्येक पैरेंट P को इसके सरलीकरण P' से बदलें। इस प्रक्रिया में, ड्रॉप
माता-पिता जो अन्य माता-पिता के पूर्वज हैं या जो जड़ हैं TREESAME को
एक खाली पेड़, और डुप्लीकेट हटा दें, लेकिन ध्यान रखें कि सभी माता-पिता को कभी न छोड़ें
हम करने के लिए TREESAME हैं।

· यदि इस पैरेंट पुनर्लेखन के बाद, C' एक रूट या मर्ज कमिट है (शून्य या >1 . है)
माता-पिता), एक सीमा प्रतिबद्धता, या !TREESAME, यह बनी हुई है। अन्यथा, इसे बदल दिया जाता है
अपने एकमात्र माता-पिता के साथ।

माता-पिता के साथ - पूर्ण-इतिहास की तुलना करके इसका प्रभाव सबसे अच्छा दिखाया गया है
पुनर्लेखन उदाहरण में बदल जाता है:

।-मैं नहीं
// /
आईबीडी
\ / /
`------------'

एन, पी, और क्यू ओवर --फुल-इतिहास में प्रमुख अंतरों पर ध्यान दें:

· N की मूल सूची मैंने हटा दी थी, क्योंकि यह अन्य माता-पिता M का पूर्वज है।
फिर भी, N बना रहा क्योंकि यह !TREESAME है।

· पी की मूल सूची इसी तरह मैंने हटा दी थी। तब P को पूरी तरह से हटा दिया गया, क्योंकि
उसके एक माता पिता थे और वह TREESAME है।

· Q की मूल सूची में Y सरलीकृत होकर X हो गया था। X को तब हटा दिया गया था, क्योंकि यह a . था
ट्रीसम जड़। Q को तब पूरी तरह से हटा दिया गया था, क्योंकि उसके एक माता-पिता थे और वह है
त्रिशंकु।

अंत में, पाँचवाँ सरलीकरण मोड उपलब्ध है:

--वंश-पथ
"से" के बीच सीधे पूर्वजों की श्रृंखला पर प्रदर्शित कमिट्स को सीमित करें
और "टू" दी गई कमिट रेंज में कमिट करता है। यानी केवल डिस्प्ले कमिट करता है जो हैं
"से" प्रतिबद्धता के पूर्वज और "से" प्रतिबद्धता के वंशज।

उदाहरण के उपयोग के मामले के रूप में, निम्नलिखित प्रतिबद्ध इतिहास पर विचार करें:

डी --- ई ------ एफ
/\\
बी---सी---जी---एच---आई---जे
/ \ _
ए-----------क------एल--एम

नियमित डी..एम उन कमिट्स के सेट की गणना करता है जो M के पूर्वज हैं, लेकिन इसमें शामिल नहीं हैं
जो डी के पूर्वज हैं। यह देखने के लिए उपयोगी है कि इतिहास का क्या हुआ
डी के बाद से एम की ओर अग्रसर, इस अर्थ में कि "एम के पास क्या है जो डी में मौजूद नहीं था"।
इस उदाहरण में परिणाम ए और बी को छोड़कर सभी कमिट होंगे (और डी स्वयं, के
पाठ्यक्रम)।

जब हम यह पता लगाना चाहते हैं कि एम में क्या कमिट्स द्वारा पेश किए गए बग से दूषित हैं
डी और फिक्सिंग की आवश्यकता है, हालांकि, हम केवल का सबसेट देखना चाहेंगे डी..एम यही है
वास्तव में डी के वंशज, यानी सी और के को छोड़कर। यह वही है जो
--वंश-पथ विकल्प करता है। के लिए लागू डी..एम रेंज, इसका परिणाम है:

ई ------ एफ
\ _
जी --- एच --- आई --- जे
\
एल--एम

--simplify-by-decoration विकल्प आपको केवल इसकी बड़ी तस्वीर देखने की अनुमति देता है
इतिहास की टोपोलॉजी, उन कमिटों को छोड़ कर जिन्हें टैग द्वारा संदर्भित नहीं किया जाता है। कमिट हैं
!TREESAME के ​​रूप में चिह्नित (दूसरे शब्दों में, वर्णित इतिहास सरलीकरण नियमों के बाद रखा गया
ऊपर) यदि (1) उन्हें टैग द्वारा संदर्भित किया जाता है, या (2) वे पथ की सामग्री को बदलते हैं
कमांड लाइन पर दिया गया। अन्य सभी कमिट्स को TREESAME के ​​रूप में चिह्नित किया गया है (होने के अधीन)
सरलीकृत दूर)।

करना आदेश
डिफ़ॉल्ट रूप से, कमिट रिवर्स कालानुक्रमिक क्रम में दिखाए जाते हैं।

--तारीख-आदेश
अपने सभी बच्चों को दिखाए जाने से पहले कोई माता-पिता नहीं दिखाएं, लेकिन अन्यथा शो कमिट करें
प्रतिबद्ध टाइमस्टैम्प आदेश।

--लेखक-तारीख-आदेश
अपने सभी बच्चों को दिखाए जाने से पहले कोई माता-पिता नहीं दिखाएं, लेकिन अन्यथा शो कमिट करें
लेखक टाइमस्टैम्प आदेश।

--तोपो-आदेश
अपने सभी बच्चों को दिखाए जाने से पहले कोई माता-पिता न दिखाएं, और कमिट दिखाने से बचें
इतिहास की कई पंक्तियाँ आपस में जुड़ी हुई हैं।

उदाहरण के लिए, इस तरह के एक प्रतिबद्ध इतिहास में:

---1----2----4----7
\ _

3----5-----6----8---
जहां संख्याएं प्रतिबद्ध टाइमस्टैम्प के क्रम को दर्शाती हैं, गिट रेव-लिस्ट और दोस्तों के साथ
--डेट-ऑर्डर टाइमस्टैम्प क्रम में कमिट दिखाता है: 8 7 6 5 4 3 2 1.

--topo-order के साथ, वे 8 6 5 3 7 4 2 1 (या 8 7 4 2 6 5 3 1) दिखाएंगे; कुछ पुराने
दो से कमिट दिखाने से बचने के लिए नए लोगों के सामने कमिट दिखाए जाते हैं
समानांतर विकास ट्रैक एक साथ मिश्रित।

--उलटना
कमिट को उल्टे क्रम में आउटपुट करें। --walk-reflogs के साथ नहीं जोड़ा जा सकता।

वस्तु traversal
ये विकल्प ज्यादातर Git रिपॉजिटरी की पैकिंग के लिए लक्षित होते हैं।

--नो-वॉक[=(क्रमबद्ध|बिना क्रमित)]
केवल दिए गए कमिट्स को ही दिखाएं, लेकिन उनके पूर्वजों को पार न करें। इसका कोई प्रभाव नहीं है
यदि एक सीमा निर्दिष्ट है। यदि तर्कहीन तर्क दिया जाता है, तो कमिट्स को दिखाया जाता है
आदेश उन्हें कमांड लाइन पर दिया गया था। अन्यथा (यदि सॉर्ट किया गया या कोई तर्क नहीं था
दिए गए), कमिट समय के अनुसार रिवर्स कालानुक्रमिक क्रम में दिखाए जाते हैं। नहीं हो सकता
--ग्राफ के साथ संयुक्त।

--डू-वॉक
पिछले --नो-वॉक को ओवरराइड करता है।

करना फॉर्मेटिंग
--सुंदर[= ], --format=
किसी दिए गए प्रारूप में प्रतिबद्ध लॉग की सामग्री को सुंदर-प्रिंट करें, जहां हो सकता है
में से एक एक पंक्ति, कम, मध्यम, पूर्ण, कपड़ा साफ करनेवाला, ईमेल, कच्चा, प्रारूप: और
प्रारूप:. जब उपरोक्त में से कोई नहीं है, और है % प्लेसहोल्डर इसमें, यह
के रूप में कार्य करता है --सुंदर = प्रारूप: हमें दिया गया।

प्रत्येक प्रारूप के लिए कुछ अतिरिक्त विवरण के लिए "सुंदर प्रारूप" अनुभाग देखें। कब
= भाग को छोड़ दिया जाता है, यह चूक जाता है मध्यम.

नोट: आप रिपॉजिटरी कॉन्फ़िगरेशन में डिफ़ॉल्ट सुंदर प्रारूप निर्दिष्ट कर सकते हैं (देखें
गिट-कॉन्फ़िगरेशन(1))।

--abbrev-प्रतिबद्ध
पूर्ण 40-बाइट हेक्साडेसिमल कमिट ऑब्जेक्ट नाम दिखाने के बजाय, केवल दिखाएँ a
आंशिक उपसर्ग। अंकों की गैर डिफ़ॉल्ट संख्या "--abbrev= . के साथ निर्दिष्ट की जा सकती है "
(जो प्रदर्शित होने पर भिन्न आउटपुट को भी संशोधित करता है)।

यह "--pretty=oneline" का उपयोग करने वाले लोगों के लिए बहुत अधिक पठनीय बनाना चाहिए
80-स्तंभ टर्मिनल।

--नहीं-abbrev-प्रतिबद्धता
पूर्ण 40-बाइट हेक्साडेसिमल प्रतिबद्ध ऑब्जेक्ट नाम दिखाएं। यह नकारता है --abbrev-प्रतिबद्ध और
वे विकल्प जो इसका अर्थ लगाते हैं जैसे "--oneline"। यह भी ओवरराइड करता है
log.abbrevप्रतिबद्ध चर।

--एक पंक्ति
यह एक साथ उपयोग किए जाने वाले "--pretty=oneline --abbrev-commit" के लिए एक आशुलिपि है।

--एन्कोडिंग=
प्रतिबद्ध ऑब्जेक्ट अपने एन्कोडिंग में लॉग संदेश के लिए उपयोग किए गए एन्कोडिंग को रिकॉर्ड करते हैं
शीर्ष लेख; इस विकल्प का उपयोग कमिट लॉग संदेश को फिर से कोड करने के लिए कमांड को बताने के लिए किया जा सकता है
उपयोगकर्ता द्वारा पसंदीदा एन्कोडिंग में। नॉन प्लंबिंग कमांड के लिए यह डिफ़ॉल्ट है
यूटीएफ-8. ध्यान दें कि यदि कोई वस्तु X में एन्कोड होने का दावा करती है और हम X में आउटपुट कर रहे हैं, तो हम
वस्तु को शब्दशः आउटपुट देगा; इसका मतलब है कि मूल में अमान्य अनुक्रम
कमिट को आउटपुट में कॉपी किया जा सकता है।

--नोट्स[= ]
नोट्स दिखाएँ (देखें गिट-नोट्स(1)) जो कमिट दिखाते समय कमिट को एनोटेट करता है
लॉग संदेश. यह git log, git show और gitwhatchanged कमांड के लिए डिफ़ॉल्ट है
जब कमांड लाइन पर कोई --pretty, --format, या --oneline विकल्प नहीं दिया गया हो।

डिफ़ॉल्ट रूप से, दिखाए गए नोट्स सूचीबद्ध नोट्स रेफरी से हैं core.notesRef और
नोट्स.डिस्प्लेरेफ चर (या संबंधित वातावरण ओवरराइड)। देखना गिट-कॉन्फ़िगरेशन(1)
अधिक जानकारी के लिए.

एक वैकल्पिक के साथ तर्क, डिफ़ॉल्ट नोट्स के बजाय इस नोट्स रेफरी को दिखाएं
रेफरी। रेफरी पूर्ण रेफरनाम निर्दिष्ट करता है जब यह रेफरी/नोट्स/ से शुरू होता है; जब यह
नोट्स/, रेफरी/ से शुरू होता है और अन्यथा रेफरी/नोट्स/ को पूरा नाम बनाने के लिए उपसर्ग किया जाता है
निर्देशी।

कौन से नोट प्रदर्शित किए जा रहे हैं, इसे नियंत्रित करने के लिए एकाधिक --नोट्स विकल्पों को जोड़ा जा सकता है।
उदाहरण: "--notes=foo" केवल "refs/notes/foo" के नोट्स दिखाएगा; "--नोट्स=फू
--नोट्स" "रेफ्स/नोट्स/फू" और डिफ़ॉल्ट नोट्स रेफरी दोनों नोट्स दिखाएगा।

--नो-नोट्स
नोट मत दिखाओ. यह सूची को रीसेट करके उपरोक्त --नोट्स विकल्प को नकार देता है
नोट्स से तात्पर्य है कि कौन से नोट्स दिखाए गए हैं। विकल्पों को दिए गए क्रम में पार्स किया गया है
कमांड लाइन, उदाहरण के लिए "--नोट्स --नोट्स=फू --नो-नोट्स --नोट्स=बार" केवल दिखाई देगा
"रेफ्स/नोट्स/बार" से नोट्स।

--शो-नोट्स[= ], --[नहीं-]मानक-नोट्स
ये विकल्प अस्वीकृत हैं. इसके बजाय उपरोक्त --notes/-no-notes विकल्प का उपयोग करें।

--शो-हस्ताक्षर
gpg --verify . पर हस्ताक्षर पास करके एक हस्ताक्षरित प्रतिबद्ध वस्तु की वैधता की जाँच करें
और आउटपुट दिखाएं।

--सापेक्ष-तारीख
--डेट = रिश्तेदार का पर्यायवाची।

--तिथि=
केवल मानव-पठनीय प्रारूप में दिखाई गई तिथियों के लिए प्रभावी होता है, जैसे उपयोग करते समय
--सुंदर हे। log.date config वेरिएबल लॉग कमांड के लिए एक डिफ़ॉल्ट मान सेट करता है --date
विकल्प। डिफ़ॉल्ट रूप से, तिथियां मूल समय क्षेत्र में दिखाई जाती हैं (या तो कमिटर या
लेखक का)। यदि -लोकल को प्रारूप में जोड़ा जाता है (जैसे, आइसो-लोकल), उपयोगकर्ता का स्थानीय
इसके बजाय समय क्षेत्र का उपयोग किया जाता है।

--date=सापेक्ष वर्तमान समय के सापेक्ष दिनांक दिखाता है, उदाहरण के लिए "2 घंटे पहले"। NS
-स्थानीय विकल्प का उपयोग --raw या --relative के साथ नहीं किया जा सकता है।

--date=local --date=default-local के लिए एक उपनाम है।

--date=iso (या --date=iso8601) ISO 8601 जैसे प्रारूप में टाइमस्टैम्प दिखाता है। NS
सख्त आईएसओ 8601 प्रारूप में अंतर हैं:

· टी दिनांक/समय सीमांकक के बजाय एक स्थान

· समय और समय क्षेत्र के बीच का स्थान

समय क्षेत्र के घंटों और मिनटों के बीच कोई कोलन नहीं है

--date=iso- सख्त (या --date=iso8601- सख्त) सख्त ISO 8601 में टाइमस्टैम्प दिखाता है
प्रारूप.

--date=rfc (या --date=rfc2822) RFC 2822 प्रारूप में टाइमस्टैम्प दिखाता है, जो अक्सर इसमें पाया जाता है
ईमेल संदेश.

--date=short YYYY-MM-DD प्रारूप में केवल दिनांक दिखाता है, समय नहीं।

--date=raw आंतरिक कच्चे Git स्वरूप %s %z प्रारूप में दिनांक दिखाता है।

--date=format:... आपके सिस्टम strftime को प्रारूप ... को फीड करता है। उपयोग --दिनांक=प्रारूप:%c
अपने सिस्टम लोकेल के पसंदीदा प्रारूप में तारीख दिखाने के लिए। के लिए strftime मैनुअल देखें
प्रारूप प्लेसहोल्डर्स की पूरी सूची। -लोकल का उपयोग करते समय, सही सिंटैक्स है
--दिनांक=प्रारूप-स्थानीय:...

--date=default डिफ़ॉल्ट स्वरूप है, और कुछ के साथ --date=rfc2822 के समान है
अपवाद:

सप्ताह के दिन के बाद कोई अल्पविराम नहीं है

· जब स्थानीय समय क्षेत्र का उपयोग किया जाता है तो समय क्षेत्र छोड़ दिया जाता है

--माता - पिता
कमिट के माता-पिता को भी प्रिंट करें ("प्रतिबद्ध माता-पिता ..." के रूप में)। सक्षम भी करता है
जनक पुनर्लेखन, देखें इतिहास सरलीकरण नीचे.

--बच्चे
कमिट के बच्चों को भी प्रिंट करें ("प्रतिबद्ध बच्चे ..." के रूप में)। सक्षम भी करता है
जनक पुनर्लेखन, देखें इतिहास सरलीकरण नीचे.

--बाएँ दांए
चिह्नित करें कि एक सममित अंतर का कौन सा पक्ष एक प्रतिबद्धता से पहुंचा जा सकता है। बाईं ओर से करता है
साइड में < और दायीं ओर से > लगे होते हैं। यदि --सीमा के साथ संयुक्त हो,
वे कमिट - के साथ उपसर्ग करते हैं।

उदाहरण के लिए, यदि आपके पास यह टोपोलॉजी है:

वाई---बी---बी शाखा बी
/ \ /
/।
// \
o---x---a---a शाखा A

आपको इस तरह का आउटपुट मिलेगा:

$ git Rev-list --left-right --boundary --pretty=oneline A...B

>bbbbbbb... 3rd पर b
>bbbbbbb... 2nd on b
<आआआआ... तीसरा पर ए
<आआआआ... दूसरा पर ए
-yyyyyy... 1st on b
-xx... 1 पर a

--ग्राफ
बाईं ओर प्रतिबद्ध इतिहास का पाठ-आधारित चित्रमय प्रतिनिधित्व बनाएं
आउटपुट का। यह क्रम में, अतिरिक्त लाइनों को कमिट के बीच में प्रिंट करने का कारण बन सकता है
ग्राफ इतिहास को ठीक से तैयार करने के लिए। --नो-वॉक के साथ नहीं जोड़ा जा सकता।

यह माता-पिता को फिर से लिखने में सक्षम बनाता है, देखें इतिहास सरलीकरण नीचे.

इसका मतलब डिफ़ॉल्ट रूप से --topo-order विकल्प है, लेकिन --date-order विकल्प भी हो सकता है
निर्दिष्ट किया जाए।

--शो-रैखिक-विराम[= ]
जब --ग्राफ का उपयोग नहीं किया जाता है, तो इतिहास की सभी शाखाएं चपटी हो जाती हैं, जिससे इसे करना मुश्किल हो जाता है
देखें कि लगातार दो कमिट एक रेखीय शाखा से संबंधित नहीं हैं। इस विकल्प
उस मामले में उनके बीच एक बाधा डालता है। अगर निर्दिष्ट है, यह है
स्ट्रिंग जो डिफ़ॉल्ट के बजाय दिखाई जाएगी।

डिफ फॉर्मेटिंग
नीचे सूचीबद्ध विकल्प हैं जो भिन्न आउटपुट के स्वरूपण को नियंत्रित करते हैं। उनमें से कुछ हैं
के लिए विशिष्ट गिट-रेव-सूची(1), हालाँकि अन्य भिन्न विकल्प दिए जा सकते हैं। देखना git-diff-
फ़ाइलों(1) अधिक विकल्पों के लिए।

-c
इस विकल्प के साथ, मर्ज कमिट के लिए भिन्न आउटपुट प्रत्येक से अंतर दिखाता है
माता-पिता को जोड़ीवार अंतर दिखाने के बजाय एक साथ मर्ज परिणाम देना होगा
माता-पिता और परिणाम के बीच एक-एक करके। इसके अलावा, यह केवल उन फ़ाइलों को सूचीबद्ध करता है जो
सभी अभिभावकों से संशोधित किया गया।

--सीसी
यह ध्वज -c विकल्प को दर्शाता है और पैच आउटपुट को छोड़कर इसे और संपीड़ित करता है
अरुचिकर लोग जिनकी सामग्री माता-पिता में केवल दो प्रकार और मर्ज हैं
परिणाम बिना किसी संशोधन के उनमें से एक को चुनता है।

-m
यह फ़्लैग मर्ज कमिट को नियमित कमिट की तरह पूर्ण अंतर दिखाता है; प्रत्येक के लिए
पैरेंट को मर्ज करें, एक अलग लॉग प्रविष्टि और अंतर उत्पन्न होता है। अपवाद केवल वही है
प्रथम अभिभावक के विरुद्ध अंतर तब दिखाया जाता है जब --प्रथम-अभिभावक विकल्प दिया जाता है; के कारण से
मामले में, आउटपुट मर्ज द्वारा लाए गए परिवर्तनों का प्रतिनिधित्व करता है में तत्कालीन वर्तमान
डाली।

-r
पुनरावर्ती अंतर दिखाएँ.

-t
भिन्न आउटपुट में ट्री ऑब्जेक्ट दिखाएँ। इसका तात्पर्य है -r.

सुंदर हे प्रारूप


यदि प्रतिबद्धता एक विलय है, और यदि सुंदर प्रारूप नहीं है एक पंक्ति, ईमेल or कच्चा, एक
से पहले अतिरिक्त लाइन डाली जाती है लेखक: रेखा। यह पंक्ति "मर्ज:" और . से शुरू होती है
पैतृक प्रतिबद्धताओं के sha1s मुद्रित होते हैं, रिक्त स्थान से अलग होते हैं। ध्यान दें कि सूचीबद्ध
जरूरी नहीं कि कमिट्स की सूची हो प्रत्यक्ष यदि आपके पास सीमित है तो माता-पिता प्रतिबद्ध हैं
इतिहास के बारे में आपका दृष्टिकोण: उदाहरण के लिए, यदि आप केवल a . से संबंधित परिवर्तनों में रुचि रखते हैं
कुछ निर्देशिका या फ़ाइल।

कई अंतर्निर्मित प्रारूप हैं, और आप एक सेट करके अतिरिक्त प्रारूपों को परिभाषित कर सकते हैं
सुंदर हे। config विकल्प या तो किसी अन्य प्रारूप नाम के लिए, या a प्रारूप: स्ट्रिंग, के रूप में
नीचे वर्णित (देखें गिट-कॉन्फ़िगरेशन(1))। यहाँ अंतर्निहित स्वरूपों का विवरण दिया गया है:

· एक पंक्ति



यह यथासंभव कॉम्पैक्ट होने के लिए डिज़ाइन किया गया है।

· कम

प्रतिबद्ध
लेखक:



· मध्यम

प्रतिबद्ध
लेखक:
दिनांक:





· पूर्ण

प्रतिबद्ध
लेखक:
प्रतिबद्ध:





· कपड़ा साफ करनेवाला

प्रतिबद्ध
लेखक:
लेखक दिनांक:
प्रतिबद्ध:
तिथि के लिए प्रतिबद्ध:





· ईमेल

से
से:
दिनांक:
विषय: [पैच]



· कच्चा

RSI कच्चा प्रारूप पूरी प्रतिबद्धता को ठीक उसी तरह दिखाता है जैसे कि प्रतिबद्ध वस्तु में संग्रहीत है।
विशेष रूप से, SHA-1s पूर्ण रूप से प्रदर्शित होते हैं, भले ही --abbrev या
--no-abbrev का उपयोग किया जाता है, और माता - पिता जानकारी सच्चे माता-पिता को दिखाती है, बिना
ग्राफ्ट या इतिहास के सरलीकरण को ध्यान में रखते हुए। ध्यान दें कि यह प्रारूप प्रभावित करता है
जिस तरह से काम करता है उसे प्रदर्शित किया जाता है, लेकिन जिस तरह से अंतर दिखाया जाता है जैसे git log
--कच्चा। कच्चे डिफ प्रारूप में पूर्ण ऑब्जेक्ट नाम प्राप्त करने के लिए, --no-abbrev का उपयोग करें।

· प्रारूप:

RSI प्रारूप: प्रारूप आपको यह निर्दिष्ट करने की अनुमति देता है कि आप कौन सी जानकारी दिखाना चाहते हैं।
यह थोड़ा सा प्रिंटफ प्रारूप की तरह काम करता है, उल्लेखनीय अपवाद के साथ जो आपको मिलता है
के साथ नई पंक्ति %n के बजाय \n.

जैसे, प्रारूप: "द लेखक of %h था %एक, %ar%n शीर्षक था >>%s<<%n" दिखायेगा
कुछ इस तरह:

fe6e0ee के लेखक जूनियो सी हमानो थे, 23 घंटे पहले
शीर्षक था >>t4119: टेस्ट ऑटोकंप्यूटिंग -पी पारंपरिक अंतर इनपुट के लिए।<

प्लेसहोल्डर हैं:

· %H: प्रतिबद्ध हैश

· %h: संक्षिप्त प्रतिबद्ध हैश

· %T: पेड़ हैश

· %t: संक्षिप्त पेड़ हैश

· %P: माता-पिता हैश

· %p: संक्षिप्त पैरेंट हैश

· %एक: लेखक का नाम

· %एक: लेखक का नाम (.मेलमैप का सम्मान करते हुए, देखें गिट-शॉर्टलॉग(1) या गिट-दोष(1))

· %ए: लेखक ईमेल

· %एई: लेखक ईमेल (.मेलमैप का सम्मान करते हुए, देखें गिट-शॉर्टलॉग(1) या गिट-दोष(1))

· % विज्ञापन: लेखक की तारीख (प्रारूप सम्मान --तिथि= विकल्प)

· %एडी: लेखक तिथि, RFC2822 शैली

· %ar: लेखक तिथि, रिश्तेदार

· %पर: लेखक तिथि, यूनिक्स टाइमस्टैम्प

· %अई: लेखक की तारीख, आईएसओ ८६०१ जैसा प्रारूप

· % aI: लेखक की तारीख, सख्त आईएसओ 8601 प्रारूप

· % सीएन: कमिटर का नाम

· % सीएन: कमिटर का नाम (.मेलमैप का सम्मान करते हुए, देखें गिट-शॉर्टलॉग(1) या गिट-दोष(1))

· % सीई: कमिटर ईमेल

· % सीई: कमिटर ईमेल (.मेलमैप का सम्मान करते हुए, देखें गिट-शॉर्टलॉग(1) या गिट-दोष(1))

· % सीडी: कमिटर दिनांक (प्रारूप सम्मान -- दिनांक = विकल्प)

· % सीडी: कमिटर तिथि, RFC2822 शैली

· %करोड़: कमिटर तिथि, रिश्तेदार

· % सीटी: कमिटर तिथि, यूनिक्स टाइमस्टैम्प

· %ci: कमिटर तिथि, आईएसओ 8601 जैसा प्रारूप

· % सीआई: कमिटर तिथि, सख्त आईएसओ 8601 प्रारूप

· %d: रेफरी नाम, जैसे --decorate विकल्प गिट-लॉग(1)

· %D: "(,", ")" रैपिंग के बिना नामों को रेफरी करें।

· %e: एन्कोडिंग

· %s: विषय

· %f: स्वच्छ विषय पंक्ति, फ़ाइल नाम के लिए उपयुक्त

· %b: तन

· %B: कच्चा शरीर (अलिखित विषय और शरीर)

· %N: नोट्स प्रतिबद्ध करें

· %जीजी: हस्ताक्षरित प्रतिबद्धता के लिए जीपीजी से कच्चा सत्यापन संदेश

· %जी?: अच्छे हस्ताक्षर के लिए "जी", खराब हस्ताक्षर के लिए "बी", अच्छे के लिए "यू" दिखाएं,
अविश्वसनीय हस्ताक्षर और बिना हस्ताक्षर के "एन"

· %जी एस: हस्ताक्षरित प्रतिबद्धता के लिए हस्ताक्षरकर्ता का नाम दिखाएं

· %जीके: हस्ताक्षरित प्रतिबद्धता पर हस्ताक्षर करने के लिए उपयोग की जाने वाली कुंजी दिखाएं

· %जीडी: रीफ्लॉग चयनकर्ता, उदाहरण के लिए, refs/stash@{1}

· %जीडी: छोटा reflog चयनकर्ता, उदा, stash@{1}

· % gn: रीफ्लॉग पहचान नाम

· %gN: रीफ्लॉग पहचान नाम (.मेलमैप का सम्मान करते हुए, देखें गिट-शॉर्टलॉग(1) या गिट-
दोष(1))

· %जी: रीफ्लॉग पहचान ईमेल

· %जीई: reflog पहचान ईमेल (.mailmap का सम्मान करते हुए, देखें गिट-शॉर्टलॉग(1) या गिट-
दोष(1))

· % जीएस: रीफ्लॉग विषय

· % साख: रंग को लाल में बदलें

· % सीग्रीन: रंग को हरे रंग में बदलें

· % सीब्लू: रंग को नीला में बदलें

· % क्रेसेट: रंग रीसेट करें

· %सी(...): रंग विनिर्देश, जैसा कि color.branch.* config विकल्प में वर्णित है; जोड़ने
ऑटो, शुरुआत में रंग तभी उत्सर्जित करेगा जब लॉग आउटपुट के लिए रंग सक्षम हों
(color.diff, color.ui, या --color द्वारा, और की ऑटो सेटिंग्स का सम्मान करते हुए
पूर्व अगर हम एक टर्मिनल पर जा रहे हैं)। अकेले ऑटो (यानी %C(ऑटो)) चालू हो जाएगा
अगले प्लेसहोल्डर्स पर ऑटो कलरिंग जब तक कि कलर फिर से स्विच न हो जाए।

· %m: बाएँ, दाएँ या सीमा चिह्न

· %n: नई पंक्ति

· %%: एक कच्चा %

· %x00: हेक्स कोड से एक बाइट प्रिंट करें

· %w([ [, [, ]]]): स्विच लाइन रैपिंग, जैसे -w विकल्प गिट-
शॉर्टलॉग(1).

· %<( [,ट्रंक|एलट्रंक|एमट्रंक]): अगले प्लेसहोल्डर को कम से कम N कॉलम लेने दें,
यदि आवश्यक हो तो दाईं ओर पैडिंग रिक्त स्थान। वैकल्पिक रूप से शुरुआत में छोटा करें
(ltrunc), मध्य (mtrunc) या अंत (trunc) यदि आउटपुट N . से अधिक लंबा है
स्तंभ। ध्यान दें कि ट्रंकिंग केवल N >= 2 के साथ सही ढंग से काम करता है।

· %<|( ): अगले प्लेसहोल्डर को कम से कम Nth कॉलम तक ले जाएं, पैडिंग
यदि आवश्यक हो तो दाईं ओर रिक्त स्थान

· %>( ), %>|( ): के समान %<( ), %<|( ) क्रमशः, लेकिन पैडिंग रिक्त स्थान
बाईं तरफ

· %>>( ), %>>|( ): के समान %>( ), %>|( ) क्रमशः, सिवाय इसके कि यदि
अगला प्लेसहोल्डर दिए गए स्थान से अधिक स्थान लेता है और इसके बाईं ओर रिक्त स्थान हैं,
उन रिक्त स्थान का उपयोग करें

· %><( ), %><|( ): के समान % <( ), %<|( ) क्रमशः, लेकिन दोनों को पैडिंग करना
पक्ष (अर्थात पाठ केंद्रित है)

नोट
कुछ प्लेसहोल्डर संशोधन ट्रैवर्सल इंजन को दिए गए अन्य विकल्पों पर निर्भर हो सकते हैं।
उदाहरण के लिए, %g* reflog विकल्प एक खाली स्ट्रिंग सम्मिलित करेगा जब तक कि हम नहीं हैं
ट्रैवर्सिंग रीफ्लॉग प्रविष्टियां (उदाहरण के लिए, git log -g द्वारा)। %d और %D प्लेसहोल्डर उपयोग करेंगे
"लघु" सजावट प्रारूप अगर --decorate पहले से ही कमांड पर प्रदान नहीं किया गया था
लाइन.

यदि आप के बाद + (धन चिह्न) जोड़ते हैं % एक प्लेसहोल्डर की, एक लाइन-फीड तुरंत डाली जाती है
विस्तार से पहले अगर और केवल अगर प्लेसहोल्डर एक गैर-रिक्त स्ट्रिंग तक फैलता है।

यदि आप के बाद - (ऋण चिह्न) जोड़ते हैं % एक प्लेसहोल्डर की, लाइन-फीड जो तुरंत पहले आती है
विस्तार हटा दिया जाता है यदि और केवल तभी जब प्लेसहोल्डर एक खाली स्ट्रिंग तक फैलता है।

यदि आप के बाद `` (स्पेस) जोड़ते हैं % प्लेसहोल्डर का, एक स्थान तुरंत पहले डाला जाता है
विस्तार अगर और केवल अगर प्लेसहोल्डर एक गैर-रिक्त स्ट्रिंग तक फैलता है।

· प्रारूप:

RSI प्रारूप: प्रारूप ठीक उसी तरह काम करता है प्रारूप:, सिवाय इसके कि यह "टर्मिनेटर" प्रदान करता है
"विभाजक" शब्दार्थ के बजाय शब्दार्थ। दूसरे शब्दों में, प्रत्येक प्रतिबद्धता में
संदेश टर्मिनेटर कैरेक्टर (आमतौर पर एक नई लाइन) एक विभाजक के बजाय जोड़ा जाता है
प्रविष्टियों के बीच रखा गया है। इसका अर्थ है कि एकल-पंक्ति प्रारूप की अंतिम प्रविष्टि होगी
एक नई लाइन के साथ ठीक से समाप्त किया जा सकता है, जैसे "ऑनलाइन" प्रारूप करता है। के लिये
उदाहरण:

$ गिट लॉग -2 --सुंदर = प्रारूप:% h 4da45bef \
| perl -pe '$_ .= " -- नहीं NEWLINE\n" जब तक /\n/'
4da45be
7134973 -- नहीं NEWLINE

$ गिट लॉग -2 --सुंदर = tformat:% h 4da45bef \
| perl -pe '$_ .= " -- नहीं NEWLINE\n" जब तक /\n/'
4da45be
7134973

इसके अलावा, किसी भी गैर-मान्यता प्राप्त स्ट्रिंग जिसमें% है, की व्याख्या की जाती है जैसे कि यह है
tformat: इसके सामने। उदाहरण के लिए, ये दोनों समकक्ष हैं:

$ git लॉग -2 --सुंदर=tformat:%h 4da45bef
$ गिट लॉग -2 --pretty=%h 4da45bef

आम डिफ विकल्प


-पी, -यू, --पैच
पैच जनरेट करें (पैच जनरेट करने पर अनुभाग देखें)।

-एस, --नो-पैच
भिन्न आउटपुट को दबाएँ। गिट शो जैसे कमांड के लिए उपयोगी है जो पैच बाय दिखाता है
डिफ़ॉल्ट, या --पैच के प्रभाव को रद्द करने के लिए।

यू , --एकीकृत=
उत्पन्न करने में भिन्नता है सामान्य तीन के बजाय संदर्भ की पंक्तियाँ। तात्पर्य -प.

--कच्चा
प्रत्येक प्रतिबद्धता के लिए, कच्चे अंतर प्रारूप का उपयोग करके परिवर्तनों का सारांश दिखाएं। "रॉ" देखें
आउटपुट स्वरूप" अनुभाग git-diff(1). यह स्वयं लॉग दिखाने से भिन्न है
कच्चे प्रारूप में, जिसे आप --format=raw के साथ प्राप्त कर सकते हैं।

--पैच-साथ-कच्चा
-p --raw का पर्यायवाची।

--कम से कम
यह सुनिश्चित करने के लिए अतिरिक्त समय व्यतीत करें कि न्यूनतम संभव अंतर उत्पन्न हो।

--धैर्य
"धैर्य अंतर" एल्गोरिदम का उपयोग करके एक अंतर उत्पन्न करें।

--हिस्टोग्राम
"हिस्टोग्राम डिफ" एल्गोरिदम का उपयोग करके एक अंतर उत्पन्न करें।

--diff-एल्गोरिदम={धैर्य|न्यूनतम|हिस्टोग्राम|मायर्स}
एक भिन्न एल्गोरिदम चुनें. वेरिएंट इस प्रकार हैं:

डिफ़ॉल्ट, मायर्स
बुनियादी लालची अंतर एल्गोरिथ्म। वर्तमान में, यह डिफ़ॉल्ट है.

कम से कम
यह सुनिश्चित करने के लिए अतिरिक्त समय व्यतीत करें कि न्यूनतम संभव अंतर उत्पन्न हो।

धैर्य
पैच बनाते समय "धैर्य अंतर" एल्गोरिदम का उपयोग करें।

हिस्टोग्राम
यह एल्गोरिदम "कम-घटना वाले सामान्य का समर्थन करने" के लिए धैर्य एल्गोरिदम का विस्तार करता है
तत्व"।

उदाहरण के लिए, यदि आपने diff.algorithm वैरिएबल को गैर-डिफ़ॉल्ट मान पर कॉन्फ़िगर किया है और
डिफ़ॉल्ट का उपयोग करना चाहते हैं, तो आपको --diff-algorithm=default विकल्प का उपयोग करना होगा।

--स्टेट[= [, [, ]]]
एक डिफस्टेट उत्पन्न करें. डिफ़ॉल्ट रूप से, जितनी आवश्यक हो उतनी जगह का उपयोग किया जाएगा
फ़ाइल नाम भाग, और शेष ग्राफ़ भाग के लिए। टर्मिनल के लिए अधिकतम चौड़ाई डिफ़ॉल्ट है
चौड़ाई, या 80 कॉलम यदि टर्मिनल से कनेक्ट नहीं है, और इसके द्वारा ओवरराइड किया जा सकता है .
फ़ाइल नाम भाग की चौड़ाई को अन्य चौड़ाई देकर सीमित किया जा सकता है
अल्पविराम के बाद. का उपयोग करके ग्राफ़ भाग की चौड़ाई को सीमित किया जा सकता है
--स्टेट-ग्राफ़-चौड़ाई= (स्टेट ग्राफ उत्पन्न करने वाले सभी कमांड को प्रभावित करता है) या द्वारा
सेटिंग diff.statGraphWidth= (गिट फॉर्मेट-पैच को प्रभावित नहीं करता)। एक देकर
तीसरा पैरामीटर , आप आउटपुट को पहले तक सीमित कर सकते हैं पंक्तियाँ, अनुसरण किया गया
द्वारा ... यदि और भी हैं।

इन मापदंडों को --stat-width= के साथ व्यक्तिगत रूप से भी सेट किया जा सकता है ,
--स्टेट-नाम-चौड़ाई= और --स्टेट-गिनती= .

--numstat
--stat के समान, लेकिन दशमलव संकेतन में जोड़ी गई और हटाई गई पंक्तियों की संख्या दिखाता है
इसे और अधिक मशीन अनुकूल बनाने के लिए, संक्षिप्त नाम के बिना पथनाम। बाइनरी फ़ाइलों के लिए,
आउटपुट दो - 0 0 कहने के बजाय।

--शॉर्टस्टेट
--स्टेट प्रारूप की केवल अंतिम पंक्ति को आउटपुट करें जिसमें संशोधित की कुल संख्या शामिल है
फ़ाइलें, साथ ही जोड़ी गई और हटाई गई पंक्तियों की संख्या।

--dirstat[= ]
प्रत्येक उप-निर्देशिका के लिए परिवर्तनों की सापेक्ष मात्रा का वितरण आउटपुट करें।
--dirstat के व्यवहार को अल्पविराम से अलग की गई सूची में पास करके अनुकूलित किया जा सकता है
पैरामीटर. डिफ़ॉल्ट को diff.dirstat कॉन्फ़िगरेशन चर द्वारा नियंत्रित किया जाता है
(देखें गिट-कॉन्फ़िगरेशन(1)). निम्नलिखित पैरामीटर उपलब्ध हैं:

परिवर्तन
से हटाई गई रेखाओं को गिनकर डिरस्टेट संख्याओं की गणना करें
स्रोत, या गंतव्य में जोड़ा गया। यह शुद्ध कोड की मात्रा को नजरअंदाज करता है
किसी फ़ाइल के भीतर की गतिविधियाँ. दूसरे शब्दों में, किसी फ़ाइल में पंक्तियों को पुनर्व्यवस्थित करना नहीं है
अन्य परिवर्तनों के समान ही गिना जाता है। कोई पैरामीटर न होने पर यह डिफ़ॉल्ट व्यवहार है
दिया हुआ है।

पंक्तियां
नियमित लाइन-आधारित अंतर विश्लेषण करके डिरस्टैट संख्याओं की गणना करें, और
हटाई गई/जोड़ी गई पंक्तियों की संख्या का योग करना। (बाइनरी फ़ाइलों के लिए, 64-बाइट खंड गिनें
इसके बजाय, चूंकि बाइनरी फ़ाइलों में लाइनों की कोई प्राकृतिक अवधारणा नहीं होती है)। यह और भी है
परिवर्तन व्यवहार की तुलना में महँगा --dirstat व्यवहार, लेकिन यह मायने रखता है
किसी फ़ाइल के भीतर अन्य परिवर्तनों की तरह ही पंक्तियों को पुनर्व्यवस्थित करना। परिणामी आउटपुट है
आपको अन्य --*स्टेट विकल्पों से जो मिलता है, उसके अनुरूप।

फ़ाइलों
परिवर्तित फ़ाइलों की संख्या की गणना करके डिरस्टेट संख्याओं की गणना करें। प्रत्येक बदल गया
फ़ाइल को डिरस्टैट विश्लेषण में समान रूप से गिना जाता है। यह कम्प्यूटेशनल रूप से सबसे सस्ता है
--dirstat व्यवहार, क्योंकि इसमें फ़ाइल सामग्री को बिल्कुल भी देखने की ज़रूरत नहीं है।

संचयी
मूल निर्देशिका के लिए चाइल्ड निर्देशिका में परिवर्तनों की भी गणना करें। ध्यान दें कि
संचयी का उपयोग करते समय, रिपोर्ट किए गए प्रतिशत का योग 100% से अधिक हो सकता है।
डिफ़ॉल्ट (गैर-संचयी) व्यवहार को गैर-संचयी के साथ निर्दिष्ट किया जा सकता है
पैरामीटर।


एक पूर्णांक पैरामीटर कट-ऑफ प्रतिशत (डिफ़ॉल्ट रूप से 3%) निर्दिष्ट करता है। निर्देशिका
इस प्रतिशत से कम योगदान करने वाले परिवर्तन आउटपुट में नहीं दिखाए जाते हैं।

उदाहरण: निम्नलिखित परिवर्तित फ़ाइलों की गणना करेगा, जबकि कम वाली निर्देशिकाओं को अनदेखा करेगा
परिवर्तित फ़ाइलों की कुल मात्रा का 10% से अधिक, और चाइल्ड निर्देशिका गणनाएँ एकत्रित करना
मूल निर्देशिका में: --dirstat=फ़ाइलें,10,संचयी।

--सारांश
रचनाएँ, नाम बदलने जैसी विस्तारित हेडर जानकारी का एक संक्षिप्त सारांश आउटपुट करें
और मोड बदल जाता है.

--पैच-विथ-स्टेट
-p --stat का पर्यायवाची।

-z
कमिट को नई न्यूलाइन के बजाय एनयूएल से अलग करें।

साथ ही, जब --raw या --numstat दिया गया हो, तो पथनामों को मूँज न करें और NULs का उपयोग न करें
आउटपुट फ़ील्ड टर्मिनेटर।

इस विकल्प के बिना, प्रत्येक पथनाम आउटपुट में TAB, LF, डबल कोट्स और होंगे
बैकस्लैश वर्णों को क्रमशः \t, \n, \", और \\, और पथनाम से बदल दिया गया
यदि उनमें से कोई भी प्रतिस्थापन हुआ तो दोहरे उद्धरण चिह्नों में संलग्न किया जाएगा।

--केवल नाम
केवल परिवर्तित फ़ाइलों के नाम दिखाएँ.

--नाम-स्थिति
परिवर्तित फ़ाइलों के केवल नाम और स्थिति दिखाएँ। --diff-फ़िल्टर का विवरण देखें
स्थिति पत्रों का क्या मतलब है इसका विकल्प।

--सबमॉड्यूल[= ]
निर्दिष्ट करें कि सबमॉड्यूल में अंतर कैसे दिखाए जाते हैं। जब --सबमॉड्यूल या --सबमॉड्यूल=लॉग
दिया जाता है, लॉग इन प्रारूप का प्रयोग किया जाता है। यह प्रारूप इस प्रकार की श्रेणी में प्रतिबद्धताओं को सूचीबद्ध करता है गिट-
submodule(1) सारांश करता है। --सबमॉड्यूल विकल्प को छोड़ना या निर्दिष्ट करना
--सबमॉड्यूल=छोटा, का उपयोग करता है कम प्रारूप। यह प्रारूप केवल इनके नाम दिखाता है
सीमा के आरंभ और अंत में प्रतिबद्ध होता है। diff.submodule के माध्यम से बदलाव किया जा सकता है
विन्यास चर।

--रंग[= ]
रंगीन अंतर दिखाएँ. --रंग (यानी बिना =) --color=always के समान है।
हमेशा, कभी नहीं, या ऑटो में से एक हो सकता है।

--रंग नहीं
रंगीन अंतर बंद करें. यह --रंग=कभी नहीं जैसा ही है।

--शब्द-अंतर[= ]
का उपयोग करके एक शब्द भिन्न दिखाएँ परिवर्तित शब्दों का परिसीमन करना। डिफ़ॉल्ट रूप से, शब्द हैं
रिक्त स्थान द्वारा सीमांकित; नीचे --word-diff-regex देखें। के लिए डिफ़ॉल्ट सादा,
और इनमें से एक होना चाहिए:

रंग
केवल रंगों का उपयोग करके बदले हुए शब्दों को हाइलाइट करें। तात्पर्य--रंग।

सादा
शब्दों को [-हटाया-] और {+जोड़ा+} के रूप में दिखाएं। से बचने का कोई प्रयास नहीं करता
यदि वे इनपुट में दिखाई देते हैं तो सीमांकक, इसलिए आउटपुट अस्पष्ट हो सकता है।

चीनी मिटटी
स्क्रिप्ट उपभोग के लिए एक विशेष लाइन-आधारित प्रारूप का उपयोग करें।
जोड़े गए/हटाए गए/अपरिवर्तित रन सामान्य एकीकृत अंतर प्रारूप में मुद्रित किए जाते हैं,
पंक्ति की शुरुआत में +/-/`` अक्षर से शुरू करना और आगे बढ़ाना
रेखा के अंत। इनपुट में नई लाइनें एक लाइन पर एक टिल्ड ~ द्वारा दर्शायी जाती हैं
अपनी खुद की.

कोई नहीं
शब्द अंतर को फिर से अक्षम करें.

ध्यान दें कि पहले मोड के नाम के बावजूद, बदले हुए को हाइलाइट करने के लिए रंग का उपयोग किया जाता है
सक्षम होने पर सभी मोड में भाग।

--शब्द-अंतर-regex=
उपयोग यह तय करने के लिए कि कोई शब्द क्या है, गैर-व्हाट्सएप के रनों पर विचार करने के बजाय
एक शब्द हो. इसका तात्पर्य --word-diff से भी है जब तक कि यह पहले से ही सक्षम न हो।

का प्रत्येक गैर-अतिव्यापी मैच एक शब्द माना जाता है. बीच में कुछ भी
इन मिलानों को रिक्त स्थान माना जाता है और खोजने के प्रयोजनों के लिए अनदेखा(!) किया जाता है
मतभेद. आप अपने रेगुलर एक्सप्रेशन में |[^[:space:]] जोड़ना चाह सकते हैं
सुनिश्चित करें कि यह सभी गैर-व्हाट्सएप वर्णों से मेल खाता है। एक मिलान जिसमें एक नई पंक्ति होती है
नई लाइन पर चुपचाप काट दिया गया(!)।

उदाहरण के लिए, --word-diff-regex=. प्रत्येक अक्षर को एक शब्द के रूप में मानेंगे और,
तदनुसार, चरित्र दर चरित्र अंतर दिखाएं।

रेगेक्स को एक भिन्न ड्राइवर या कॉन्फ़िगरेशन विकल्प के माध्यम से भी सेट किया जा सकता है, देखें
gitattributes(1) या गिट-कॉन्फ़िगरेशन(1). इसे देने से किसी भी भिन्न ड्राइवर या को स्पष्ट रूप से ओवरराइड किया जाता है
कॉन्फ़िगरेशन सेटिंग. डिफ ड्राइवर कॉन्फ़िगरेशन सेटिंग्स को ओवरराइड करते हैं।

--रंग-शब्द[= ]
--word-diff=color प्लस के समतुल्य (यदि कोई रेगेक्स निर्दिष्ट किया गया था)
--शब्द-अंतर-regex= .

--नहीं-नाम बदलें
नाम बदलने का पता लगाना बंद करें, तब भी जब कॉन्फ़िगरेशन फ़ाइल डिफ़ॉल्ट रूप से ऐसा करने के लिए कहती है
इसलिए।

--जाँच
यदि परिवर्तनों से रिक्त स्थान त्रुटियाँ आती हैं तो चेतावनी दें। व्हाईटस्पेस त्रुटियाँ क्या मानी जाती हैं?
core.whitespace कॉन्फ़िगरेशन द्वारा नियंत्रित। डिफ़ॉल्ट रूप से, अनुगामी रिक्त स्थान
(उन पंक्तियों सहित जिनमें केवल रिक्त स्थान शामिल हैं) और एक स्पेस कैरेक्टर है
पंक्ति के आरंभिक इंडेंट के अंदर तुरंत एक टैब वर्ण होता है
रिक्त स्थान त्रुटियाँ मानी गईं। यदि समस्याएँ पाई जाती हैं तो गैर-शून्य स्थिति से बाहर निकलें। नहीं
--exit-code के साथ संगत।

--ws-त्रुटि-हाइलाइट=
द्वारा निर्दिष्ट पंक्तियों पर रिक्त स्थान त्रुटियों को हाइलाइट करें द्वारा निर्दिष्ट रंग में
रंग.अंतर.व्हाइटस्पेस. पुराने, नए, संदर्भ की अल्पविराम से अलग की गई सूची है। कब
यह विकल्प नहीं दिया गया है, केवल नई पंक्तियों में रिक्त स्थान त्रुटियों को हाइलाइट किया गया है। उदाहरण के लिए
--ws-error-highlight=नया, पुराना हटाए गए और जोड़े गए दोनों पर व्हाइटस्पेस त्रुटियों को हाइलाइट करता है
पंक्तियाँ. सभी का उपयोग पुराने, नए, संदर्भ के लिए शॉर्ट-हैंड के रूप में किया जा सकता है।

--पूर्ण-सूचकांक
पहले मुट्ठी भर पात्रों के बजाय, पूर्ण पूर्व और बाद की छवि ब्लॉब दिखाएँ
पैच प्रारूप आउटपुट उत्पन्न करते समय "इंडेक्स" लाइन पर ऑब्जेक्ट नाम।

--बाइनरी
--फुल-इंडेक्स के अलावा, एक बाइनरी अंतर आउटपुट करें जिसे गिट-एप्लाई के साथ लागू किया जा सकता है।

--abbrev[= ]
पूर्ण 40-बाइट हेक्साडेसिमल ऑब्जेक्ट नाम को डिफ-रॉ प्रारूप आउटपुट में दिखाने के बजाय
और डिफ-ट्री हेडर लाइनें, केवल आंशिक उपसर्ग दिखाती हैं। ये इससे स्वतंत्र है
--उपरोक्त पूर्ण-सूचकांक विकल्प, जो डिफ-पैच आउटपुट स्वरूप को नियंत्रित करता है। बिलकुल नही चूकना
अंकों की संख्या --abbrev= के साथ निर्दिष्ट की जा सकती है .

-बी[ ][/ ], --ब्रेक-रीराइट[=[ ][/ ]]
संपूर्ण पुनर्लेखन परिवर्तनों को हटाएं और बनाएं के जोड़ियों में तोड़ें। यह दो की सेवा करता है
प्रयोजनों:

यह उस परिवर्तन के तरीके को प्रभावित करता है जो एक श्रृंखला के रूप में नहीं बल्कि फ़ाइल के कुल पुनर्लेखन के बराबर होता है
विलोपन और सम्मिलन को बहुत कम पंक्तियों के साथ मिश्रित किया गया है जो मेल खाती हैं
पाठ्य रूप से संदर्भ के रूप में, लेकिन इसके बाद पुरानी सभी चीज़ों को एक बार हटाने के रूप में
हर नई चीज़ का एकल सम्मिलन, और संख्या m -B के इस पहलू को नियंत्रित करती है
विकल्प (डिफ़ॉल्ट 60%)। -बी/70% निर्दिष्ट करता है कि मूल का 30% से कम होना चाहिए
Git के लिए इसे पूर्ण पुनर्लेखन मानने के लिए परिणाम में बने रहें (अर्थात् अन्यथा
परिणामी पैच संदर्भ के साथ मिश्रित विलोपन और सम्मिलन की एक श्रृंखला होगी
पंक्तियाँ)।

जब -M के साथ प्रयोग किया जाता है, तो पूरी तरह से दोबारा लिखी गई फ़ाइल को भी a का स्रोत माना जाता है
नाम बदलें (आमतौर पर -एम केवल गायब हुई फ़ाइल को नाम बदलने के स्रोत के रूप में मानता है),
और संख्या n -B विकल्प के इस पहलू को नियंत्रित करती है (डिफ़ॉल्ट रूप से 50%)। -बी20%
निर्दिष्ट करता है कि 20% या अधिक की तुलना में जोड़ने और हटाने के साथ परिवर्तन
फ़ाइल का आकार नाम बदलने के संभावित स्रोत के रूप में चुने जाने के योग्य है
दूसरी फ़ाइल.

-एम[ ], --नाम बदलें[= ]
यदि अंतर उत्पन्न हो रहा है, तो प्रत्येक प्रतिबद्धता के लिए नामों का पता लगाएं और रिपोर्ट करें। निम्नलिखित फ़ाइलों के लिए
इतिहास में घूमते हुए नाम बदलें, देखें--फ़ॉलो करें। यदि n निर्दिष्ट है, तो यह a है
समानता सूचकांक पर सीमा (यानी की तुलना में जोड़/हटाने की मात्रा)।
फ़ाइल का आकार). उदाहरण के लिए, -M90% का अर्थ है कि Git को एक डिलीट/एड जोड़ी पर विचार करना चाहिए
यदि 90% से अधिक फ़ाइल नहीं बदली है तो नाम बदलें। % चिह्न के बिना, संख्या है
इसे भिन्न के रूप में पढ़ा जाए, इसके पहले दशमलव बिंदु हो। यानी, -M5 0.5 हो जाता है, और है
इस प्रकार -M50% के समान है। इसी प्रकार, -M05 -M5% के समान है। पता लगाने को सीमित करने के लिए
सटीक नाम बदलें, -M100% का उपयोग करें। डिफ़ॉल्ट समानता सूचकांक 50% है।

-सी[ ], --खोज-प्रतियाँ[= ]
प्रतियों के साथ-साथ नामों का भी पता लगाएं। यह भी देखें--कॉपियाँ-खोजें-कड़ी मेहनत से। यदि n निर्दिष्ट है, तो यह
-M के समान ही अर्थ है .

--प्रतिलिपियाँ ढूँढ़ना अधिक कठिन
प्रदर्शन कारणों से, डिफ़ॉल्ट रूप से, -C विकल्प केवल मूल फ़ाइल होने पर ही प्रतियां ढूंढता है
प्रतिलिपि को उसी परिवर्तनसेट में संशोधित किया गया था। यह ध्वज कमांड को निरीक्षण कराता है
प्रतिलिपि के स्रोत के लिए असंशोधित फ़ाइलें उम्मीदवार के रूप में। ये बहुत महंगा है
बड़ी परियोजनाओं के लिए संचालन, इसलिए इसका उपयोग सावधानी से करें। एक से अधिक -C विकल्प देना
एक ही प्रभाव है।

-डी, --अपरिवर्तनीय-हटाएँ
हटाने के लिए प्रीइमेज को हटा दें, यानी केवल हेडर प्रिंट करें, लेकिन बीच का अंतर नहीं
प्रीइमेज और /dev/null. परिणामी पैच पैच या के साथ लगाने के लिए नहीं है
गिट लागू; यह पूरी तरह से उन लोगों के लिए है जो केवल समीक्षा पर ध्यान केंद्रित करना चाहते हैं
परिवर्तन के बाद पाठ. इसके अलावा, आउटपुट में स्पष्ट रूप से पर्याप्त जानकारी का अभाव है
ऐसे पैच को उल्टा लगाएं, यहां तक ​​कि मैन्युअल रूप से भी, इसलिए विकल्प का नाम।

जब -बी के साथ प्रयोग किया जाता है, तो ए के विलोपन भाग में प्रीइमेज को भी हटा दें
जोड़ी हटाएँ/बनाएँ।

-एल
-M और -C विकल्पों के लिए O(n^2) प्रसंस्करण समय की आवश्यकता होती है जहां n की संख्या है
संभावित नाम बदलें/प्रतिलिपि लक्ष्य। यह विकल्प नाम बदलें/कॉपी पहचान को चलने से रोकता है
यदि नाम बदलने/कॉपी लक्ष्यों की संख्या निर्दिष्ट संख्या से अधिक है।

--diff-filter=[(ए|सी|डी|एम|आर|टी|यू|एक्स|बी)...[*]]
केवल उन फ़ाइलों का चयन करें जिन्हें जोड़ा गया है (ए), कॉपी किया गया है (सी), हटाया गया है (डी), संशोधित किया गया है (एम), नाम बदला गया है
(आर), उनके प्रकार (यानी नियमित फ़ाइल, सिम्लिंक, सबमॉड्यूल, ...) बदल गए हैं (टी), हैं
असंबद्ध (यू), अज्ञात (एक्स) हैं, या उनकी जोड़ी टूट गई है (बी)। कोई भी संयोजन
फ़िल्टर वर्णों में से (कोई नहीं सहित) का उपयोग किया जा सकता है। जब * (सभी-या-कोई नहीं) जोड़ा जाता है
संयोजन के लिए, यदि कोई फ़ाइल है जो अन्य से मेल खाती है तो सभी पथ चुने जाते हैं
तुलना में मानदंड; यदि ऐसी कोई फ़ाइल नहीं है जो अन्य मानदंडों से मेल खाती हो, तो कुछ भी नहीं
चयनित है।

-एस
उन अंतरों की तलाश करें जो निर्दिष्ट स्ट्रिंग की घटनाओं की संख्या को बदलते हैं
(अर्थात् किसी फ़ाइल में जोड़ना/हटाना)। स्क्रिप्टर के उपयोग के लिए अभिप्रेत है।

यह तब उपयोगी होता है जब आप कोड का एक सटीक ब्लॉक (एक संरचना की तरह) ढूंढ रहे हों और चाहते हों
उस ब्लॉक के अस्तित्व में आने के बाद से उसका इतिहास जानने के लिए: सुविधा का उपयोग करें
प्रीइमेज में दिलचस्प ब्लॉक को वापस -S में फीड करने के लिए, और आगे बढ़ते रहें
जब तक आपको ब्लॉक का पहला संस्करण नहीं मिल जाता।

-जी
उन अंतरों की तलाश करें जिनके पैच टेक्स्ट में मेल खाने वाली जोड़ी/हटाई गई लाइनें शामिल हैं .

-एस के बीच अंतर को स्पष्ट करने के लिए --पिकैक्स-रेगेक्स और -जी , विचार करना
एक ही फ़ाइल में निम्नलिखित अंतर के साथ एक प्रतिबद्धता:

+ वापसी !regexec(regexp, two->ptr, 1, ®match, 0);
...
- हिट = !regexec(regexp, mf2.ptr, 1, ®मैच, 0);

जबकि git log -G"regexec\(regexp" यह कमिट दिखाएगा, git log -S"regexec\(regexp"
--pickaxe-regex नहीं होगा (क्योंकि उस स्ट्रिंग की घटनाओं की संख्या नहीं थी
परिवर्तन)।

देखना कुदाल से मिट्टी खुरपना प्रविष्टि में gitdiffcore(7) अधिक जानकारी के लिए।

--पिकैक्स-सभी
जब -S या -G को कोई परिवर्तन मिलता है, तो उस परिवर्तनसेट में सभी परिवर्तन दिखाएं, न कि केवल
फ़ाइलें जिनमें परिवर्तन शामिल है .

--पिकैक्स-रेगेक्स
का इलाज करें मिलान के लिए विस्तारित POSIX नियमित अभिव्यक्ति के रूप में -S को दिया गया।

-ओ
पैच को निर्दिष्ट क्रम में आउटपुट करें , जिसमें एक शेल ग्लोब है
प्रति पंक्ति पैटर्न. यह diff.orderFile कॉन्फ़िगरेशन वैरिएबल को ओवरराइड करता है (देखें)। गिट-
विन्यास(1)). Diff.orderFile को रद्द करने के लिए, -O/dev/null का उपयोग करें।

-R
दो इनपुट स्वैप करें; अर्थात्, इंडेक्स या ऑन-डिस्क फ़ाइल से ट्री तक अंतर दिखाएं
सामग्री।

--सापेक्ष[= ]
जब प्रोजेक्ट की उपनिर्देशिका से चलाया जाता है, तो इसे बाहरी परिवर्तनों को बाहर करने के लिए कहा जा सकता है
इस विकल्प के साथ निर्देशिका और उससे संबंधित पथनाम दिखाएं। जब आप अंदर नहीं हों
एक उपनिर्देशिका (उदाहरण के लिए एक खाली भंडार में), आप यह नाम दे सकते हैं कि कौन सी उपनिर्देशिका बनानी है
a देकर सापेक्ष आउटपुट एक तर्क के रूप में.

-पाठ
सभी फ़ाइलों को टेक्स्ट के रूप में मानें.

--अनदेखा-स्पेस-एट-ईओएल
ईओएल पर रिक्त स्थान में परिवर्तन पर ध्यान न दें।

-बी, --अनदेखा-अंतरिक्ष-परिवर्तन
रिक्त स्थान की मात्रा में परिवर्तन पर ध्यान न दें. यह पंक्ति के अंत में रिक्त स्थान को अनदेखा करता है, और
एक या अधिक रिक्त स्थान वर्णों के अन्य सभी अनुक्रमों को समतुल्य मानता है।

-w, --अनदेखा-सभी-स्थान
रेखाओं की तुलना करते समय रिक्त स्थान पर ध्यान न दें। यह एक पंक्ति में होने पर भी मतभेदों को नजरअंदाज कर देता है
रिक्त स्थान जहां दूसरी पंक्ति में कोई नहीं है।

--अनदेखा-रिक्त-पंक्तियाँ
उन परिवर्तनों पर ध्यान न दें जिनकी सभी पंक्तियाँ रिक्त हैं।

--इंटर-हंक-संदर्भ=
इस प्रकार, पंक्तियों की निर्दिष्ट संख्या तक भिन्न खंडों के बीच संदर्भ दिखाएं
फ़्यूज़िंग हंक जो एक दूसरे के करीब हैं।

-डब्ल्यू, --फंक्शन-संदर्भ
परिवर्तनों के संपूर्ण आस-पास के कार्य दिखाएँ।

--ext-diff
किसी बाहरी अंतर सहायक को निष्पादित करने की अनुमति दें। यदि आप एक बाहरी डिफ ड्राइवर सेट करते हैं
gitattributes(5), आपको इस विकल्प का उपयोग करना होगा गिट-लॉग(1) और दोस्त.

--कोई-विस्तार-अंतर नहीं
बाहरी अंतर ड्राइवरों को अस्वीकार करें।

--textconv, --no-textconv
बाइनरी की तुलना करते समय बाहरी पाठ रूपांतरण फ़िल्टर को चलाने की अनुमति दें (या अस्वीकार करें)।
फ़ाइलें। देखो gitattributes(5) विवरण के लिए. क्योंकि textconv फ़िल्टर आम तौर पर होते हैं
एकतरफ़ा रूपांतरण, परिणामी अंतर मानव उपभोग के लिए उपयुक्त है, लेकिन नहीं
लागू हो जाए। इस कारण से, textconv फ़िल्टर केवल डिफ़ॉल्ट रूप से सक्षम होते हैं गिट-
diff(1) और गिट-लॉग(1), लेकिन इसके लिए नहीं गिट-प्रारूप-पैच(1) या अलग प्लंबिंग कमांड।

--अनदेखा-सबमॉड्यूल[= ]
भिन्न पीढ़ी में सबमॉड्यूल में परिवर्तनों को अनदेखा करें। या तो "कोई नहीं" हो सकता है,
"अनट्रैक्ड", "गंदा" या "सभी", जो कि डिफ़ॉल्ट है। "कोई नहीं" का उपयोग करने पर विचार किया जाएगा
सबमॉड्यूल को तब संशोधित किया जाता है जब उसमें या तो अनट्रैक की गई या संशोधित फ़ाइलें या उसका HEAD होता है
सुपरप्रोजेक्ट में दर्ज कमिट से भिन्न है और इसका उपयोग किसी को भी ओवरराइड करने के लिए किया जा सकता है
की सेटिंग्स उपेक्षा में विकल्प गिट-कॉन्फ़िगरेशन(1) या गिटमॉड्यूल्स(5). जब "अनट्रैक" होता है
उपयोग किए गए सबमॉड्यूल को गंदा नहीं माना जाता है जब उनमें केवल अनट्रैक की गई सामग्री होती है (लेकिन
वे अभी भी संशोधित सामग्री के लिए स्कैन किए गए हैं)। "गंदा" का उपयोग करने से सभी परिवर्तनों पर ध्यान नहीं दिया जाता है
सबमॉड्यूल के कार्य वृक्ष में, केवल सुपरप्रोजेक्ट में संग्रहीत कमिट में परिवर्तन होते हैं
दिखाया गया (1.7.0 तक यही व्यवहार था)। "सभी" का उपयोग करने से सभी परिवर्तन छिप जाते हैं
उपमॉड्यूल

--src-उपसर्ग=
"ए/" के स्थान पर दिए गए स्रोत उपसर्ग को दिखाएँ।

--dst-उपसर्ग=
"बी/" के स्थान पर दिए गए गंतव्य उपसर्ग को दिखाएँ।

--नो-उपसर्ग
कोई स्रोत या गंतव्य उपसर्ग न दिखाएं.

इन सामान्य विकल्पों पर अधिक विस्तृत विवरण के लिए, यह भी देखें gitdiffcore(7).

उत्पादक पैच साथ में -P


जब "git-diff-index", "git-diff-tree", या "git-diff-files" को एक के साथ चलाया जाता है -p विकल्प, "git
अंतर" के बिना --कच्चा विकल्प, या "-पी" विकल्प के साथ "गिट लॉग", वे उत्पादन नहीं करते हैं
ऊपर वर्णित आउटपुट; इसके बजाय वे एक पैच फ़ाइल तैयार करते हैं। आप रचना को अनुकूलित कर सकते हैं
GIT_EXTERNAL_DIFF और GIT_DIFF_OPTS पर्यावरण चर के माध्यम से ऐसे पैच।

-p विकल्प जो उत्पन्न करता है वह पारंपरिक अंतर प्रारूप से थोड़ा अलग है:

1. इसके पहले एक "गिट डिफ" हेडर है जो इस तरह दिखता है:

अंतर --git a/file1 b/file2

जब तक नाम बदलना/कॉपी शामिल न हो, a/ और b/ फ़ाइल नाम समान हैं। खासकर, यहां तक ​​कि
निर्माण या विलोपन के लिए, /dev/null है नहीं a/ या b/ के स्थान पर उपयोग किया जाता है
फ़ाइल नाम।

जब नाम बदलना/प्रतिलिपि बनाना शामिल होता है, तो फ़ाइल 1 और फ़ाइल 2 स्रोत फ़ाइल का नाम दिखाते हैं
क्रमशः नाम बदलें/कॉपी और फ़ाइल का नाम जो नाम बदलें/कॉपी उत्पन्न करता है।

2. इसके बाद एक या अधिक विस्तारित हेडर पंक्तियाँ होती हैं:

पुराना मोड
नया मोड
हटाई गई फ़ाइल मोड
नया फ़ाइल मोड
से प्रतिलिपि बनाएँ
में कॉपी
से नाम बदलें
का नाम बदलें
समानता सूचकांक
असमानता सूचकांक
अनुक्रमणिका ..

फ़ाइल मोड फ़ाइल प्रकार और फ़ाइल सहित 6-अंकीय ऑक्टल संख्याओं के रूप में मुद्रित होते हैं
अनुमति बिट्स.

विस्तारित हेडर में पथ नामों में a/ और b/ उपसर्ग शामिल नहीं हैं।

समानता सूचकांक अपरिवर्तित रेखाओं का प्रतिशत और असमानता सूचकांक है
परिवर्तित पंक्तियों का प्रतिशत है. यह एक पूर्णांकित पूर्णांक है, जिसके बाद a आता है
प्रतिशत चिह्न. 100% का समानता सूचकांक मान इस प्रकार दो समान फ़ाइलों के लिए आरक्षित है,
जबकि 100% असमानता का मतलब है कि पुरानी फ़ाइल से कोई भी लाइन नई में नहीं आई
एक।

सूचकांक पंक्ति में परिवर्तन से पहले और बाद में SHA-1 चेकसम शामिल है। है
यदि फ़ाइल मोड नहीं बदलता है तो शामिल है; अन्यथा, अलग-अलग रेखाएँ पुराने को दर्शाती हैं
और नया मोड.

3. पथनामों में TAB, LF, डबल कोट और बैकस्लैश वर्णों को \t, \n, के रूप में दर्शाया जाता है।
\" और \\, क्रमशः। यदि ऐसे प्रतिस्थापन की आवश्यकता है तो संपूर्ण
पथनाम को दोहरे उद्धरण चिह्नों में रखा गया है।

4. आउटपुट में सभी फ़ाइल1 फ़ाइलें कमिट से पहले की फ़ाइलों को संदर्भित करती हैं, और सभी फ़ाइल2
फ़ाइलें कमिट के बाद फ़ाइलों को संदर्भित करती हैं। प्रत्येक परिवर्तन को प्रत्येक पर लागू करना गलत है
क्रमानुसार फ़ाइल करें. उदाहरण के लिए, यह पैच a और b स्वैप करेगा:

अंतर--गिट ए/एबी/बी
ए से नाम बदलें
बी का नाम बदलें
अंतर--गिट ए/बीबी/ए
बी से नाम बदलें
ए का नाम बदलें

संयुक्त डिफ FORMAT


कोई भी डिफ-जेनरेटिंग कमांड -c या --cc विकल्प का उपयोग करके उत्पादन कर सकता है संयुक्त diff कब
एक मर्ज दिखा रहा है. मर्ज दिखाते समय यह डिफ़ॉल्ट प्रारूप है git-diff(1) या गिट-
दिखाना(1). यह भी ध्यान दें कि आप इनमें से किसी भी कमांड को बाध्य करने के लिए -m विकल्प दे सकते हैं
मर्ज के व्यक्तिगत माता-पिता के साथ मतभेदों की पीढ़ी।

A संयुक्त diff प्रारूप इस तरह दिखता है:

अंतर--संयुक्त वर्णन.सी
सूचकांक favadb8,cc95eb0..4866510
--- a/describe.c
+++ b/describe.c
@@@ -98,20 -98,12 +98,20 @@@
वापसी (a_date > b_date)? -1 : (a_date == b_date) ? 0 :1;
}

- स्थैतिक शून्य वर्णन(char *arg)
-स्टैटिक शून्य वर्णन (स्ट्रक्चर कमिट *सीमिट, इंट लास्ट_वन)
++ स्थिर शून्य वर्णन (char *arg, int Last_one)
{
+ अहस्ताक्षरित चार sha1[20];
+ स्ट्रक्चर कमिट *सीमिट;
संरचना प्रतिबद्ध_सूची * सूची;
स्थिर पूर्णांक आरंभीकृत = 0;
स्ट्रक्चर कमिट_नाम *एन;

+ यदि (get_sha1(arg, sha1) < 0)
+ उपयोग(वर्णन_उपयोग);
+ सेमीट = लुकअप_कमिट_रेफरेंस(sha1);
+ अगर (!सीमिट)
+ उपयोग(वर्णन_उपयोग);
+
यदि (!प्रारंभिक) {
आरंभीकृत = 1;
for_each_ref(get_name);

1. इसके पहले एक "गिट डिफ" हेडर है, जो इस तरह दिखता है (कब)। -c विकल्प है
इस्तेमाल किया गया):

अंतर--संयुक्त फ़ाइल

या इस तरह (कब --सीसी विकल्प का उपयोग किया जाता है):

अंतर--सीसी फ़ाइल

2. इसके बाद एक या अधिक विस्तारित हेडर लाइनें आती हैं (यह उदाहरण एक मर्ज दिखाता है
दो माता-पिता):

अनुक्रमणिका , ..
तरीका , ..
नया फ़ाइल मोड
हटाई गई फ़ाइल मोड ,

साधन , .. पंक्ति केवल तभी प्रकट होती है जब इनमें से कम से कम एक हो है
बाकियों से अलग. खोजी गई सामग्री के बारे में जानकारी के साथ विस्तारित हेडर
मूवमेंट (नाम बदलना और प्रतिलिपि का पता लगाना) को दो के अंतर के साथ काम करने के लिए डिज़ाइन किया गया है
और संयुक्त अंतर प्रारूप द्वारा उपयोग नहीं किया जाता है।

3. इसके बाद दो-लाइन फ्रॉम-फाइल/टू-फाइल हेडर होता है

--- एक फ़ाइल
+++ बी/फ़ाइल

पारंपरिक के लिए दो-लाइन हेडर के समान एकीकृत diff प्रारूप, /dev/null का उपयोग किया जाता है
सिग्नल बनाई गई या हटाई गई फ़ाइलें।

4. लोगों को गलती से इसे फीड करने से रोकने के लिए चंक हेडर प्रारूप को संशोधित किया गया है
पैच -पी1. मर्ज प्रतिबद्ध परिवर्तनों की समीक्षा के लिए संयुक्त अंतर प्रारूप बनाया गया था, और
आवेदन करने के लिए नहीं था. यह परिवर्तन विस्तारित परिवर्तन के समान है अनुक्रमणिका
शीर्ष लेख:

@@@ @@@

संयुक्त अंतर के लिए चंक हेडर में (माता-पिता की संख्या + 1) @ अक्षर हैं
प्रारूप.

पारंपरिक के विपरीत एकीकृत diff प्रारूप, जो एक एकल के साथ दो फ़ाइलें A और B दिखाता है
वह कॉलम जिसमें - (माइनस - ए में दिखाई देता है लेकिन बी में हटा दिया गया है), + (प्लस - ए में गायब है लेकिन
बी में जोड़ा गया), या " " (स्पेस - अपरिवर्तित) उपसर्ग, यह प्रारूप दो या दो से अधिक फ़ाइलों की तुलना करता है
फ़ाइल1, फ़ाइल2,... एक फ़ाइल X के साथ, और दिखाता है कि X प्रत्येक फ़ाइलN से कैसे भिन्न है। एक स्तंभ
प्रत्येक फ़ाइल के लिए N को आउटपुट लाइन से जोड़ा जाता है ताकि यह नोट किया जा सके कि X की लाइन किस प्रकार भिन्न है
यह।

A - कॉलम N में वर्ण का मतलब है कि लाइन फ़ाइलN में दिखाई देती है लेकिन दिखाई नहीं देती है
परिणाम में. कॉलम N में A + वर्ण का अर्थ है कि परिणाम में रेखा दिखाई देती है,
और फ़ाइलएन में वह लाइन नहीं है (दूसरे शब्दों में, लाइन को बिंदु से जोड़ा गया था
उस माता-पिता का दृष्टिकोण)।

उपरोक्त उदाहरण आउटपुट में, फ़ंक्शन हस्ताक्षर दोनों फ़ाइलों से बदल दिया गया था (इसलिए दो
- फ़ाइल 1 और फ़ाइल 2 दोनों से निष्कासन, प्लस ++ का अर्थ है कि जो एक पंक्ति जोड़ी गई थी वह नहीं है
या तो फ़ाइल1 या फ़ाइल2 में दिखाई दें)। इसके अलावा आठ अन्य पंक्तियाँ फ़ाइल1 से समान हैं लेकिन हैं
फ़ाइल2 में दिखाई नहीं देता (इसलिए इसके पहले + लगा दिया गया है)।

जब git diff-tree -c द्वारा दिखाया जाता है, तो यह मर्ज कमिट के माता-पिता की तुलना मर्ज से करता है
परिणाम (यानी फ़ाइल1..फ़ाइलएन माता-पिता हैं)। जब git diff-files -c द्वारा दिखाया जाता है, तो यह तुलना करता है
दो अनसुलझे माता-पिता को कार्यशील ट्री फ़ाइल के साथ मर्ज कर देते हैं (यानी फ़ाइल 1 चरण 2 उर्फ ​​है
"हमारा संस्करण", फ़ाइल2 चरण 3 उर्फ ​​"उनका संस्करण" है)।

उदाहरण


गिट लॉग - कोई विलय नहीं
संपूर्ण प्रतिबद्ध इतिहास दिखाएँ, लेकिन किसी भी मर्ज को छोड़ दें

गिट लॉग v2.6.12.. शामिल/एससीएसआई ड्राइवर/एससीएसआई
संस्करण के बाद से सभी प्रतिबद्धताएँ दिखाएँ v2.6.12 जिसने include/scsi या में किसी फ़ाइल को बदल दिया
ड्राइवर/एससीएसआई उपनिर्देशिकाएँ

git लॉग --since='2 सप्ताह पहले' -- gitk
फ़ाइल में पिछले दो सप्ताह के दौरान हुए परिवर्तन दिखाएँ gitk. "--" आवश्यक है
के साथ भ्रम से बचें शाखा नामित gitk

गिट लॉग--नाम-स्थिति रिलीज..टेस्ट
वे कमिट दिखाएँ जो "परीक्षण" शाखा में हैं लेकिन अभी तक "रिलीज़" शाखा में नहीं हैं,
प्रत्येक प्रतिबद्ध द्वारा संशोधित पथों की सूची के साथ।

गिट लॉग--बिल्टइन/रेव-लिस्ट.सी को फॉलो करें
उन कमिटों को दिखाता है जो buildin/rev-list.c में बदल गए हैं, जिनमें वे कमिट भी शामिल हैं
फ़ाइल को उसका वर्तमान नाम दिए जाने से पहले हुआ था।

गिट लॉग--शाखाएं--नहीं--रिमोट्स=उत्पत्ति
उन सभी प्रतिबद्धताओं को दिखाता है जो किसी भी स्थानीय शाखा में हैं लेकिन किसी रिमोट-ट्रैकिंग में नहीं
के लिए शाखाएँ मूल (आपके पास जो है वह मूल नहीं है)।

गिट लॉग मास्टर--नहीं--रिमोट्स=*/मास्टर
उन सभी कमिटों को दिखाता है जो स्थानीय मास्टर में हैं लेकिन किसी दूरस्थ रिपॉजिटरी मास्टर में नहीं हैं
शाखाओं।

गिट लॉग -पी -एम --प्रथम-अभिभावक
परिवर्तन सहित इतिहास दिखाता है, लेकिन केवल "मुख्य शाखा" परिप्रेक्ष्य से,
मर्ज की गई शाखाओं से आने वाले कमिट को छोड़ना, और परिवर्तनों का पूरा अंतर दिखाना
विलय द्वारा प्रस्तुत किया गया। यह तभी समझ में आता है जब सख्त नीति का पालन किया जाए
एक ही एकीकरण शाखा पर रहने पर सभी विषय शाखाओं का विलय।

git log -L '/int main/',/^}/:main.c
दिखाता है कि main.c फ़ाइल में फ़ंक्शन main() समय के साथ कैसे विकसित हुआ।

गिट लॉग -3
दिखाने के लिए प्रतिबद्धताओं की संख्या को 3 तक सीमित करता है।

चर्चा


गिट कुछ हद तक चरित्र एन्कोडिंग अज्ञेयवादी है।

· बूँद वस्तुओं की सामग्री बाइट्स के निर्बाध अनुक्रम हैं। कोई नहीं है
कोर स्तर पर एन्कोडिंग अनुवाद।

पथ के नाम UTF-8 नॉर्मलाइज़ेशन फॉर्म C में एन्कोड किए गए हैं। यह ट्री ऑब्जेक्ट्स पर लागू होता है,
कमांड लाइन तर्कों में अनुक्रमणिका फ़ाइल, रेफरी नाम, साथ ही पथ नाम,
पर्यावरण चर और कॉन्फ़िगरेशन फ़ाइलें (.git/config (देखें .) गिट-कॉन्फ़िगरेशन(1), गिटिग्नोर(5)
gitattributes(5) और गिटमॉड्यूल्स(5))।

ध्यान दें कि मुख्य स्तर पर गिट पथ नामों को केवल गैर-एनयूएल के अनुक्रम के रूप में मानता है
बाइट्स, कोई पथ नाम एन्कोडिंग रूपांतरण नहीं हैं (मैक और विंडोज को छोड़कर)।
इसलिए, गैर-ASCII पथ नामों का उपयोग करना अधिकतर प्लेटफ़ॉर्म और फ़ाइल पर भी काम करेगा
सिस्टम जो विरासती विस्तारित ASCII एन्कोडिंग का उपयोग करते हैं। हालांकि, पर बनाए गए भंडार
ऐसे सिस्टम UTF-8-आधारित सिस्टम (जैसे Linux, Mac, Windows) पर ठीक से काम नहीं करेंगे।
और इसके विपरीत। इसके अतिरिक्त, कई गिट-आधारित टूल बस पथ नामों को मानते हैं
UTF-8 और अन्य एन्कोडिंग को सही ढंग से प्रदर्शित करने में विफल रहेगा।

प्रतिबद्ध लॉग संदेश आमतौर पर यूटीएफ -8 में एन्कोड किए जाते हैं, लेकिन अन्य विस्तारित एएससीआईआई एन्कोडिंग
भी समर्थित हैं। इसमें ISO-8859-x, CP125x और कई अन्य शामिल हैं, लेकिन नहीं
UTF-16/32, EBCDIC और CJK मल्टी-बाइट एन्कोडिंग (GBK, Shift-JIS, Big5, EUC-x, CP9xx)
और इतने पर).

हालांकि हम प्रोत्साहित करते हैं कि प्रतिबद्ध लॉग संदेश यूटीएफ -8 में एन्कोड किए गए हैं, दोनों कोर और
गिट चीनी मिट्टी के बरतन को परियोजनाओं पर यूटीएफ -8 को मजबूर नहीं करने के लिए डिज़ाइन किया गया है। यदि a . के सभी प्रतिभागी
विशेष परियोजना को विरासत एन्कोडिंग का उपयोग करना अधिक सुविधाजनक लगता है, गिट मना नहीं करता है
यह। हालाँकि, कुछ बातों का ध्यान रखना चाहिए।

1. Git करना और Git प्रतिबद्ध वृक्ष यदि प्रतिबद्ध लॉग संदेश दिया गया है तो चेतावनी जारी करता है
मान्य UTF-8 स्ट्रिंग की तरह नहीं दिखता है, जब तक कि आप स्पष्ट रूप से नहीं कहते कि आपकी परियोजना a . का उपयोग करती है
विरासत एन्कोडिंग। इसे कहने का तरीका यह है कि .git/config . में i18n.commitencoding हो
फ़ाइल, इस तरह:

[i18n]
कमिटेंकोडिंग = आईएसओ-8859-1

उपरोक्त सेटिंग के साथ बनाए गए कमिट ऑब्जेक्ट i18n.commitencoding के मान को रिकॉर्ड करते हैं
इसके एन्कोडिंग हेडर में। यह अन्य लोगों की मदद करने के लिए है जो उन्हें बाद में देखते हैं। की कमी
इस हेडर का तात्पर्य है कि प्रतिबद्ध लॉग संदेश यूटीएफ -8 में एन्कोड किया गया है।

2. Git लॉग इन, Git दिखाना, Git दोष और दोस्त कमिट के एन्कोडिंग हेडर को देखते हैं
ऑब्जेक्ट, और लॉग संदेश को यूटीएफ -8 में फिर से कोड करने का प्रयास करें जब तक कि अन्यथा निर्दिष्ट न हो। आप
.git/config . में i18n.logoutputencoding के साथ वांछित आउटपुट एन्कोडिंग निर्दिष्ट कर सकते हैं
फ़ाइल, इस तरह:

[i18n]
लॉगआउटपुटनकोडिंग = आईएसओ-8859-1

यदि आपके पास यह कॉन्फ़िगरेशन चर नहीं है, तो i18n.commitencoding का मान है
इसके बजाय इस्तेमाल किया।

ध्यान दें कि हमने जानबूझकर प्रतिबद्ध लॉग संदेश को फिर से कोड नहीं करना चुना है जब एक प्रतिबद्ध है
यूटीएफ -8 को प्रतिबद्ध वस्तु स्तर पर मजबूर करने के लिए बनाया गया है, क्योंकि यूटीएफ -8 को फिर से कोडिंग नहीं है
अनिवार्य रूप से एक प्रतिवर्ती ऑपरेशन।

विन्यास


देख गिट-कॉन्फ़िगरेशन(1) मुख्य चर के लिए और git-diff(1) अंतर से संबंधित सेटिंग्स के लिए
पीढ़ी।

प्रारूप.सुंदर
--प्रारूप विकल्प के लिए डिफ़ॉल्ट. (देखना सुंदर प्रारूप ऊपर।) डिफ़ॉल्ट से मध्यम।

i18n.logOutputEncoding
लॉग प्रदर्शित करते समय उपयोग करने के लिए एन्कोडिंग। (देखना चर्चा ऊपर।) के मान पर डिफ़ॉल्ट
यदि सेट है तो i18n.commitEncoding, और अन्यथा UTF-8।

लॉग.डेट
मानव-पठनीय तिथियों के लिए डिफ़ॉल्ट प्रारूप। (--दिनांक विकल्प की तुलना करें।) डिफ़ॉल्ट
"डिफ़ॉल्ट", जिसका अर्थ है शनि 8 मई 19:35:34 2010 -0500 जैसी तारीखें लिखना।

लॉग.फ़ॉलो करें
यदि सत्य है, तो git लॉग ऐसे कार्य करेगा जैसे --follow विकल्प का उपयोग तब किया गया था जब कोई एकल हो
दिया गया। इसकी वही सीमाएँ हैं जो --फ़ॉलो की हैं, यानी इसका उपयोग फ़ॉलो करने के लिए नहीं किया जा सकता है
एकाधिक फ़ाइलें और गैर-रेखीय इतिहास पर अच्छी तरह से काम नहीं करती हैं।

लॉग.शोरूट
यदि गलत है, तो गिट लॉग और संबंधित कमांड प्रारंभिक प्रतिबद्धता को बड़ा नहीं मानेंगे
सृजन घटना. git log -p आउटपुट में कोई भी रूट कमिट बिना किसी अंतर के दिखाया जाएगा
जुड़ा हुआ। डिफ़ॉल्ट सत्य है.

मेलमैप.*
देख गिट-शॉर्टलॉग(1).

नोट्स.डिस्प्लेरेफ
जो refs, core.notesRef या द्वारा निर्धारित डिफ़ॉल्ट के अतिरिक्त है GIT_NOTES_REF, पढ़ने के लिए
कमांड के लॉग परिवार के साथ प्रतिबद्ध संदेश दिखाते समय नोट्स। देखना गिट-
नोट्स(1).

एक संक्षिप्त रेफरी नाम या ग्लोब हो सकता है और कई बार निर्दिष्ट किया जा सकता है। ए
उन रेफरियों के लिए चेतावनी जारी की जाएगी जो मौजूद नहीं हैं, लेकिन एक ग्लोब जो किसी से मेल नहीं खाता है
रेफरी को चुपचाप नजरअंदाज कर दिया जाता है।

इस सेटिंग को --नो-नोट्स विकल्प द्वारा ओवरराइड करके अक्षम किया जा सकता है
GIT_NOTES_DISPLAY_REF पर्यावरण चर, और --notes= द्वारा ओवरराइड किया गया
विकल्प.

GIT


का हिस्सा Git(1) सुइट

onworks.net सेवाओं का उपयोग करके ऑनलाइन git-log का उपयोग करें


फ्री सर्वर और वर्कस्टेशन

विंडोज और लाइनेक्स एप डाउनलोड करें

लिनक्स कमांड

Ad




×
विज्ञापन
❤️यहां खरीदारी करें, बुक करें या खरीदें - कोई शुल्क नहीं, इससे सेवाएं निःशुल्क बनी रहती हैं।