जवाबों:
किसी विशेष COMMIT
हैश के लिए अंतर देखने के लिए :
git diff COMMIT~ COMMIT
आपको उस COMMIT
पूर्वज और के बीच का अंतर दिखाएगा COMMIT
। के लिए आदमी पृष्ठ देखें Git diff और आदेश के बारे में जानकारी के लिए gitrevisions के बारे में ~
अंकन और उसके मित्र।
वैकल्पिक रूप से, git show COMMIT
कुछ ऐसा ही करेंगे। (कमिट का डेटा, जिसमें इसका अंतर भी शामिल है - लेकिन मर्ज कमिट के लिए नहीं।) git शो मैनपेज देखें ।
^
थॉमसन और बॉर्न गोले ( |
वहां के लिए पर्यायवाची ) rc
और उसके डेरिवेटिव (कार्यवाहक संचालक) में उद्धृत किए जाने की आवश्यकता है और zsh
विस्तारित not
HEAD^
यदि पहले एक माता-पिता के कई माता-पिता हैं (यानी मर्ज कमिट)।
git diff COMMIT~ COMMIT
मेरे लिए काम करता है, कार्यवाहक के बजाय टिल्ड को नोटिस करें। मैं विंडोज़ 10 पर git संस्करण 2.6.1.windows.1 चला रहा हूं
जैसा कि " आशुलिपि के अंतर के लिए आशुलिपि अपने माता-पिता के साथ प्रतिबद्ध है? ", आप के git diff
साथ भी उपयोग कर सकते हैं :
git diff COMMIT^!
या
git diff-tree -p COMMIT
Git शो के साथ, आपको ऐसा करने की आवश्यकता होगी (अकेले ध्यान केंद्रित करने के लिए):
git show --color --pretty=format:%b $COMMIT
COMMIT
पैरामीटर एक है प्रतिबद्ध-ish :
एक प्रतिबद्ध वस्तु या एक वस्तु जिसे पुनरावर्ती वस्तु के लिए पुन: संदर्भित किया जा सकता है। निम्नलिखित सभी कमिट-ईश हैं: एक कमिट ऑब्जेक्ट, एक टैग ऑब्जेक्ट जो एक कमिट ऑब्जेक्ट को इंगित करता है, एक टैग ऑब्जेक्ट जो एक टैग ऑब्जेक्ट को इंगित करता है जो एक कमिट ऑब्जेक्ट को इंगित करता है, आदि।
कमिट-ईश का संदर्भ देने के लिए gitrevision "विशिष्ट विवरण देखें " ।
यह भी देखें " Git में ट्री-ईश का क्या अर्थ है? "।
आप यह आसान तरीका भी आजमा सकते हैं:
git show <COMMIT>
सबसे पहले उपयोग करते हुए कमिट आईडी प्राप्त करें,
git log #to list all
या
git log -p -1 #last one commit id
कमिट आईडी।
अब हम विशिष्ट विधि से परिवर्तनों को सूचीबद्ध करने के लिए दो तरीकों का उपयोग करते हैं,
विधि 1:
git diff commit_id^! #commit id something like this 1c6a6000asad012
विधि 2:
git show commit_id
For example: git show 1c6a600a
^!
मतलब है ??
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>
बीच में 3 एक का उपयोग करें:
git diff [options] <parent-commit> <commit>
उदाहरण के अनुभाग में नीचे, समान मैन पेज से भी :
$ git diff HEAD^ HEAD <3>
अंतिम प्रतिबद्ध और अंतिम प्रतिबद्ध से पहले संस्करण की तुलना करें।
बेशक यह थोड़ा भ्रमित शब्द है, यह कम भ्रामक होगा
इससे पहले के साथ सबसे हालिया प्रतिबद्ध की तुलना करें।
git diff HEAD HEAD^
।
निम्नलिखित कार्य करने के लिए लगता है; मैं इसका उपयोग यह दिखाने के लिए करता हूं कि एक मर्ज द्वारा क्या लाया गया है।
git whatchanged -m -n 1 -p <SHA-1 hash of merge commit>
git log
? (क्योंकि stackoverflow.com/a/18585297/6309 )
आप उपयोग कर सकते हैं git diff HEAD HEAD^1
माता-पिता की प्रतिबद्धता के साथ अंतर को देखने के लिए ।
यदि आप केवल फाइलों की सूची देखना चाहते हैं, तो --stat
विकल्प जोड़ें ।
diff
कमांड पढ़ना चाहिए वह यह है: मुझे कमिट से कमिट HEAD
करने के लिए फाइल में क्या बदलना होगा HEAD^1
?
git difftool COMMIT^ <commit hash>
यह भी संभव है यदि आपने अपने difftool को कॉन्फ़िगर किया है।
यहां देखें कि कैसे difftool या मैनुअल पेज को कॉन्फ़िगर करना है है
इसके अतिरिक्त आप यह git diff-tree --no-commit-id --name-only -r <commit hash>
देखने के लिए उपयोग कर सकते हैं कि कौन सी फाइलें हैश कमिट हैश में बदल दी गई हैं
लेखक और समय का उपयोग करने के लिए देखें git show COMMIT
। जिसके परिणामस्वरूप कुछ इस तरह होगा:
commit 13414df70354678b1b9304ebe4b6d204810f867e
Merge: a2a2894 3a1ba8f
Author: You <you@you.com>
Date: Fri Jul 24 17:46:42 2015 -0700
Merge remote-tracking branch 'origin/your-feature'
यदि आप यह देखना चाहते हैं कि कौन सी फाइलें बदली गई थीं, तो ऊपर दिए गए मर्ज लाइन से मानों को चलाएं git diff --stat a2a2894 3a1ba8f
।
यदि आप वास्तविक अंतर देखना चाहते हैं, तो दौड़ें git --stat a2a2894 3a1ba8f
git --stat a2a2894 3a1ba8f
"। मुझे लगता है कि आप का मतलब है git diff a2a2894 3a1ba8f
या फिर unknown option: --stat
।
पूर्ण परिवर्तनों की जाँच के लिए:
git diff <commit_Id_1> <commit_Id_2>
केवल परिवर्तित / जोड़े / हटाए गए फ़ाइलों की जाँच के लिए:
git diff <commit_Id_1> <commit_Id_2> --name-only
नोट : जाँच के लिए बीच में कमिट के बिना, आपको कमिट आईडी डालने की आवश्यकता नहीं है।
इस कमांड से आपको Git पैरेंट कमिट-हैश मिलेगा:
git log -n 2 <commit-hash>
उसके बाद git diff-tool <commit-hash> <parent-commit-hash>
उदाहरण:
bonnie@bonnie ~/ $ git log -n 2 7f65b9a9d3820525766fcba285b3c678e889fe3
commit 7f65b9a9d3820525766fcba285b3c678e889fe3b
Author: souparno <souparno.majumder@gmail.com>
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 <souparno.majumder@gmail.com>
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
चित्रमय दृश्य में स्रोत परिवर्तन की जाँच करने के मामले में,
$gitk (Mention your commit id here)
उदाहरण के लिए:
$gitk HEAD~1