git - गिट प्रतिबद्ध में परिवर्तन कैसे देखें?
version-control diff (10)
जब मैं git diff COMMIT
हूं मैं उस प्रतिबद्धता और HEAD (afaik) के बीच के परिवर्तनों को देखता हूं लेकिन मैं उस एकल प्रतिबद्धता द्वारा किए गए परिवर्तनों को देखना चाहता हूं।
मुझे diff / log पर कोई स्पष्ट विकल्प नहीं मिला है जो मुझे आउटपुट देगा।
आप इस आसान तरीके से भी कोशिश कर सकते हैं:
git show <COMMIT>
एक अन्य संभावना:
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 प्रतिबद्धता वापस ले जाता है।