git - गिट प्रतिबद्ध में परिवर्तन कैसे देखें?




version-control diff (10)

आप इस आसान तरीके से भी कोशिश कर सकते हैं:

git show <COMMIT>

जब मैं git diff COMMIT हूं मैं उस प्रतिबद्धता और HEAD (afaik) के बीच के परिवर्तनों को देखता हूं लेकिन मैं उस एकल प्रतिबद्धता द्वारा किए गए परिवर्तनों को देखना चाहता हूं।

मुझे diff / log पर कोई स्पष्ट विकल्प नहीं मिला है जो मुझे आउटपुट देगा।


एक अन्य संभावना:

git log -p COMMIT -1


किसी विशेष COMMIT हैश के लिए diff देखने के लिए:

git diff COMMIT^ COMMIT आपको उस COMMIT के पूर्वजों और COMMIT बीच अंतर दिखाएगा। ^ नोटेशन और उसके दोस्तों के बारे में कमांड और gitrevisions बारे में विवरण के लिए गिट diff के लिए मैन पेज देखें।

वैकल्पिक रूप से, git show COMMIT कुछ बहुत समान करेगा। (प्रतिबद्धता का डेटा, इसके diff सहित।) गिट शो मैनपेज देखें।


जैसा कि " अपने माता-पिता के साथ गिट प्रतिबद्धता के अंतर के लिए शॉर्टंड " में उल्लेख किया गया है, आप इसके साथ git diff का भी उपयोग कर सकते हैं:

git diff COMMIT^!

या

git diff-tree -p COMMIT

गिट शो के साथ, आपको करने के लिए (अकेले diff पर ध्यान केंद्रित करने के लिए) की आवश्यकता होगी:

git show --color --pretty=format:%b $COMMIT

COMMIT पैरामीटर एक commit-ish :

एक प्रतिबद्ध ऑब्जेक्ट या object जिसे किसी प्रतिबद्ध ऑब्जेक्ट को दोबारा संदर्भित किया जा सकता है। निम्नलिखित सभी प्रतिबद्ध हैं: एक प्रतिबद्ध वस्तु, एक टैग ऑब्जेक्ट जो एक प्रतिबद्ध ऑब्जेक्ट को इंगित करता है, एक टैग ऑब्जेक्ट जो टैग ऑब्जेक्ट को इंगित करता है जो एक प्रतिबद्ध ऑब्जेक्ट को इंगित करता है आदि।

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


माता-पिता प्रतिबद्धता के साथ अंतर देखने के लिए आप git diff HEAD HEAD^1 का उपयोग कर सकते हैं।

यदि आप केवल फाइलों की सूची देखना चाहते हैं, तो विकल्प जोड़ें - इसमें शामिल करें।


मुझे निर्दिष्ट प्रतिबद्धता और इसकी अंतिम प्रतिबद्धता की तुलना करने के लिए नीचे आदेश पसंद है।

git diff <commit-hash>^-

उदाहरण के लिए:

git diff cd1b3f485^-

यह आदेश आपको गिट पेरेंट प्रतिबद्ध-हैश मिलेगा

git log -n 2 <commit-hash>

उस git diff-tool <commit-hash> <parent-commit-hash>

उदाहरण के लिए:

[email protected] ~/ $ git log -n 2 7f65b9a9d3820525766fcba285b3c678e889fe3

commit 7f65b9a9d3820525766fcba285b3c678e889fe3b
Author: souparno <[email protected]> 
Date:   Mon Jul 25 13:17:07 2016 +0530

css changed to maintain the aspect ratio of the channel logos and to fit them properly

commit c3a61f17e14e2b80cf64b172a45f1b4826ee291f
Author: souparno <[email protected]>
Date:   Mon Jul 25 11:28:09 2016 +0530

the ratio of the height to width of the channel images are maintained

इसके बाद

git difftool 7f65b9a9d3820525766fcba285b3c678e889fe3b c3a61f17e14e2b80cf64b172a45f1b4826ee291f

git-diff(1) लिए मैन पेज से git-diff(1) :

git diff [options] [<commit>] [--] [<path>…]
git diff [options] --cached [<commit>] [--] [<path>…]
git diff [options] <commit> <commit> [--] [<path>…]
git diff [options] <blob> <blob>
git diff [options] [--no-index] [--] <path> <path>

बीच में तीसरे का प्रयोग करें:

git diff [options] <parent-commit> <commit>

उदाहरण के अनुभाग में, नीचे उसी पृष्ठ पृष्ठ से, नीचे भी:

$ git diff HEAD^ HEAD      <3>

अंतिम प्रतिबद्धता और अंतिम प्रतिबद्धता से पहले संस्करण की तुलना करें।

माना जाता है कि इसे थोड़ा उलझन में कहा जाता है, यह कम भ्रमित होगा

इससे पहले प्रतिबद्धता के साथ सबसे हालिया प्रतिबद्धता की तुलना करें।


git show सबसे हालिया प्रतिबद्धता में किए गए परिवर्तन दिखाता है।

git show HEAD बराबर।

git show HEAD~1 आपको 1 प्रतिबद्धता वापस ले जाता है।


git difftool COMMIT^ <commit hash>

यदि आप अपना difftool कॉन्फ़िगर किया है तो भी संभव है।

यहां देखें difftool या मैन्युअल पेज को कॉन्फ़िगर कैसे here

इसके अतिरिक्त आप git diff-tree --no-commit-id --name-only -r <commit hash> का उपयोग कर सकते हैं यह देखने के लिए कि कौन सी फाइलें बदली गई हैं





git-diff