पुनर्लेखन से पहले और बाद में कमिटों की तुलना करें
What Changed… दो कमिट श्रृंखलाओं में पैच की तुलना करता है, पुनर्लेखन से पहले की शाखा और उसके बाद की शाखा। मर्ज कमिट छोड़े गए हैं। जोड़ियों को Same, Changed, Dropped या Added के रूप में चिह्नित किया गया है। तुलना रेफरी को स्थानांतरित नहीं करती है या फ़ाइलों को नहीं बदलती है। जोड़ी बनाना इस बात का प्रमाण नहीं है कि दो कमिटों का मतलब एक ही है।
GitTree में काम करता है निःशुल्क: प्रत्येक स्थानीय Git सुविधा, बिना किसी खाते की आवश्यकता के।
इस पेज पर
शुरू करने से पहले
- जो बदला गया वह निःशुल्क योजना का हिस्सा है। आपके PATH पर Git को
git range-diffप्रदान करना होगा। यदि ऐसा नहीं होता है, तो GitTree कहता है कि यह Git पुनः लिखित श्रृंखला की तुलना नहीं कर सकता है। - आपके पास अभी भी दोनों युक्तियाँ हैं। रिबेस के बाद, पुरानी टिप अक्सर रिफ्लॉग में होती है। खोया और पाया एक ऐसी कमिट ढूंढ सकता है जिस पर कोई शाखा इंगित नहीं करती।
इसे कहां खोजें
- एक कमिट का Compare मेनू: What Changed…।
- ज़ोरदार धक्के के बाद नोटिस.
Alt+D, या कमांड पैलेट।
| कार्रवाई | macOS | Windows और Linux |
|---|---|---|
| What Changed… | ⌥D | Alt+D |
| कमांड पैलेट | ⌘⇧P | Ctrl+Shift+P |
कदम
क्या बदला, इसे खोलें
आपके द्वारा दोबारा लिखी गई कमिट का चयन करें, Compare खोलें, और What Changed… चुनें, या
Alt+Dदबाएँ। संवाद शीर्षक What Changed… है। नोट में कहा गया है कि यह दो कमिट श्रृंखलाओं में पैच की तुलना करता है और मर्ज कमिट छोड़े गए हैं।
इस ग्राफ़ पर कमिट के तुलना मेनू से क्या बदला है खुलता है। स्टिल ग्राफ़ है, तुलना संवाद नहीं।GitTree प्रदर्शन भंडार के साथ इंटरफ़ेस। दो युक्तियाँ चुनें
Set Before rewrite to the old tip and After rewrite to the new tip. Choose both tips if either side is empty. Under Advanced: excluded bases, Old base and New base limit the range. Leave a base empty to use the tips’ common ancestor.
तुलना
Compare दबाएँ. Stop पढ़ने वाले को वर्तमान चरण समाप्त करने के लिए कहता है। परिणाम Rewrite comparison है। प्रत्येक जोड़ी Same, Changed, Dropped या Added है। Inspect patch difference एक जोड़ी खोलता है। No patches differ in these ranges का अर्थ है शृंखला मैच।
प्रकाशित करने से पहले समीक्षा करें
नोट में कहा गया है कि प्रकाशन से पहले बदले हुए पैच की समीक्षा करें। एक Changed जोड़ी भिन्न अंतर के साथ एक ही पैच स्लॉट है। Dropped केवल पुरानी श्रृंखला में था। Added केवल नई शृंखला में है। इस संवाद से कुछ भी प्रेरित नहीं होता. जब आप तैयार हों, तो सामान्य पुश का उपयोग करें, या यदि रिमोट में अभी भी पुराना टिप है तो लीज के साथ फोर्स पुश का उपयोग करें।
अपेक्षित परिणाम
आप नाम दे सकते हैं कि कौन से पैच पुनर्लेखन से बच गए, कौन से संपादित किए गए, और कौन से दिखाई दिए या गायब हो गए। शाखा, अनुक्रमणिका और कार्यशील वृक्ष वैसे ही हैं जैसे वे थे। इससे पहले कि आप किसी और को नए इतिहास का उपयोग करने के लिए कहें, बदले हुए जोड़े के पैच की जाँच करें।
गिट कमांड
GitTree दो श्रेणियों पर git range-diff चलता है। आप उसी तुलना को टर्मिनल में चला सकते हैं। oldtip...newtip मर्ज बेस का उपयोग करता है। चार संशोधनों को पास करने से दोनों आधार अपने आप सेट हो जाते हैं, जो कि उन्नत क्षेत्र करते हैं।
git range-diff oldtip...newtip
git range-diff oldbase..oldtip newbase..newtip
git reflog show featuregit reflog show feature उन युक्तियों को सूचीबद्ध करता है जो शाखा को रिबेस से पहले मिली थीं, ताकि आप पुरानी युक्तियों को Before rewrite में चिपका सकें। रेंज-डिफ पैच की तुलना करता है। यह तय नहीं करता कि दो कमिट संदेश एक ही कार्य का वर्णन करते हैं। रीबेस और इंटरैक्टिव रीबेस पुनर्लेखन कैसे होता है। रीबेस पर ट्यूटोरियल पाठ कमांड-लाइन फॉर्म दिखाता है।
प्रत्येक जोड़ी अवस्था का क्या अर्थ है
| राज्य | मतलब |
|---|---|
| वही | पैच दोनों श्रृंखलाओं में मेल खाता है |
| बदल गया | जोड़ी मेल खाती है, और पैच अलग है |
| गिरा दिया | पैच केवल पुरानी श्रृंखला में है |
| जोड़ा गया | पैच केवल नई श्रृंखला में है |
मर्ज कमिट छोड़े गए हैं, इसलिए जिस मर्ज को आप देखने की उम्मीद कर रहे हैं वह एक गिरा हुआ जोड़ा नहीं है। Partial comparison: output reached its limit का अर्थ है कि सीमाएँ बहुत विस्तृत हैं। आधारों को संकीर्ण करें. Git output format was not recognized का अर्थ है कि मुद्रित पाठ Git को पार्स नहीं किया जा सका। सूची पर भरोसा करने से पहले उस पाठ का निरीक्षण करें।
जब तुलना नहीं चल सकती
यदि Git के पास कोई range-diff नहीं है, तो GitTree कहता है This Git cannot compare rewritten series. Update Git, or use Compare in the command palette to inspect the two revisions. वह सामान्य तुलना दो पेड़ों का अंतर है, पैच श्रृंखला नहीं। सेटअप स्क्रीन से या Git सेटअप से Git अपडेट करें, फिर क्या बदला है उसे दोबारा खोलें।
अगर कुछ गलत होता है
"यह Git पुनः लिखित श्रृंखला की तुलना नहीं कर सकता।"
स्थापित Git में कोई रेंज-अंतर नहीं है। Git को अपडेट करें, फिर पुनः प्रयास करें। तब तक, कमांड पैलेट से दो संशोधनों की तुलना करें। वह दृश्य एक पेड़ का अंतर है, धब्बों की श्रृंखला नहीं।
"दोनों युक्तियाँ चुनें।"
पुनः लिखने से पहले या पुनः लिखने के बाद रिक्त है। पुरानी टिप को रीफ्लॉग से या लॉस्ट एंड फाउंड से और नई टिप को शाखा से चुनें।
"आंशिक तुलना: आउटपुट अपनी सीमा तक पहुंच गया। सीमाओं को संकीर्ण करें।"
पुराने आधार और नए आधार को सेट करें ताकि प्रत्येक पक्ष केवल पुनर्लिखित खिंचाव हो, फिर दोबारा तुलना करें दबाएँ।
"इन श्रेणियों में कोई भी पैच भिन्न नहीं है।"
श्रृंखला मिलान, या आधार उन कमिटों को बाहर कर देते हैं जिनकी आप परवाह करते हैं। सामान्य पूर्वज का उपयोग करने के लिए आधार साफ़ करें, और जांचें कि आपने एक ही टिप दो बार नहीं चुनी है।
प्रश्न
क्या परिवर्तन से मेरी शाखा बदल जाती है?
नहीं, यह दो कमिट श्रृंखला पढ़ता है और जोड़ी स्थिति दिखाता है। रेफरी और फ़ाइलें वहीं रहती हैं जहां वे हैं।
क्या बदली हुई जोड़ी वही कमिट आईडी है?
नहीं, एक रिबेस नई कमिट आईडी लिखता है। परिवर्तित का मतलब है कि पैच युग्मित थे और उनके अंतर समान नहीं हैं। यह कोई कथन नहीं है कि दोनों संदेश एक ही इरादे का वर्णन करते हैं।
मर्ज कमिट क्यों गायब हैं?
संवाद कहता है कि मर्ज कमिट छोड़े गए हैं। रेंज-डिफ़ पुनर्लेखन के प्रत्येक पक्ष पर पैच की तुलना करता है, मर्ज नोड्स की नहीं।
रिबेस के बाद पुरानी टिप कहां है?
यह आम तौर पर तब तक रीफ्लॉग में रहता है जब तक कि प्रविष्टि समाप्त नहीं हो जाती। यदि कोई शाखा इस ओर इशारा नहीं करती है तो लॉस्ट एंड फाउंड उस रीफ्लॉग और GitTree के पुनर्प्राप्ति संदर्भों को खोज सकता है।
क्या यह git diff को प्रतिस्थापित करता है?
नहीं, git diff दो पेड़ों की तुलना करता है। गिट रेंज-डिफ पैच की दो श्रृंखलाओं की तुलना करता है। पुनर्लेखन के बाद क्या बदला इसका उपयोग करें। जब आप पेड़ में अंतर चाहते हैं तो एक सामान्य तुलना का उपयोग करें।