2013-06-21 7 views
37

के बीच अंतर देखें कभी-कभी जब मैं प्रतिबद्धता करने वाला हूं, तो मुझे अंतिम प्रतिबद्धता के बाद से क्या बदला गया है, मुझे याद नहीं है। मैं कोड की वर्तमान स्थिति और अंतिम प्रतिबद्धता का अंतर कैसे देख सकता हूं?वर्तमान स्थिति और अंतिम प्रतिबद्धता

उत्तर

54

आप (git add के साथ) अब तक नहीं जोड़ा सूचकांक करने के लिए किसी भी फाइल है, तो बस

git diff 

यह कर अपने काम के पेड़ और सूचकांक के बीच अंतर दिखाई देगा।

यदि आपने इंडेक्स में फाइलें जोड़ दी हैं, तो आपको इंडेक्स और अंतिम प्रतिबद्धता (HEAD) के बीच अंतर दिखाने के लिए ऐसा करने की आवश्यकता है।

git diff --cached 

अंत में, आप काम कर पेड़ में किए गए परिवर्तनों को देखने के लिए नवीनतम प्रतिबद्ध (HEAD) आप (के रूप में कार्लोस बताते हैं) कर सकते हैं

git diff HEAD 

ये वे परिवर्तन संयोजन कर रहे हैं की तुलना में चाहते हैं git diff और git diff --cached का।

+1

'गिट diff' सूचकांक के खिलाफ वर्कट्री की तुलना करता है, सिर नहीं। –

+0

@ कार्लोसमार्टिननेटो आप सही हैं, महोदय। मैंने इसे प्रतिबिंबित करने के लिए अपनी पोस्ट में सुधार किया है। –

+0

मैं इसे चलाता हूं, लेकिन टर्मिनल समाप्त नहीं होता है, मैं कैसे बाहर निकल सकता हूं। कुछ भी काम नहीं करता है। –

2

आप वर्तमान/अंतिम प्रतिबद्धता को अलग करने के लिए गिट से पूछते हैं, जिसमें HEAD का शॉर्टेंड है।

तो git diff HEAD वर्तमान प्रतिबद्धता के साथ कार्यक्षेत्र की वर्तमान स्थिति की तुलना करेगा।

1

यह भी अंतर दिखाता है और कौन सी फाइलें बदली/संशोधित की गई हैं।

$ git Status 

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

https://www.kernel.org/pub/software/scm/git/docs/git-status.html

8

तुम सिर्फ एक प्रतिबद्ध, या देखने के लिए क्या में बदल दिया है किया है, तो पिछले वर्तमान स्थिति की तुलना में प्रतिबद्ध (यह मानते हुए आप एक स्वच्छ काम कर पेड़ है) आप का उपयोग कर सकते हैं:

git diff HEAD^ 

यह पहले से ही प्रतिबद्धता के साथ HEAD की तुलना करेगा। कोई भी

git diff HEAD^^ 

प्ले 2 की स्थिति की तुलना में तुलना करने के लिए भी कर सकता है। वर्तमान स्थिति और एक निश्चित प्रतिबद्ध के बीच अंतर देखने के लिए, बस कार्य करें:

git diff b6af6qc 

कहाँ b6af6qc एक हैश प्रतिबद्ध का एक उदाहरण है।

संबंधित मुद्दे