2012-03-06 23 views
59

करने से पहले वर्तमान परिवर्तनों का अंतर मैंने गिट रिपॉजिटरी में कई फाइलें बदल दी हैं, लेकिन अभी तक उन्हें प्रतिबद्ध नहीं किया है।गिट -

मैं केवल git status का आह्वान करके परिवर्तनों की एक सूची प्राप्त कर सकता हूं। लेकिन मुझे फ़ाइल नामों के अलावा लाइन या सामग्री की सूची कैसे मिलती है?

मैंने शुरुआत में git diff का उपयोग करने के बारे में सोचा, लेकिन ऐसा लगता है कि यह केवल पहले से ही कम किए गए परिवर्तनों की तुलना करने के लिए उपयोगी है।

आमतौर पर मैं केवल meld . करता हूं, लेकिन इस मामले में मैं एसएसएच के माध्यम से बाहरी सर्वर से कनेक्ट हूं।

उत्तर

83

git diff डिफ़ॉल्ट रूप से (अगले प्रतिबद्ध के लिए मचान क्षेत्र) अपने कार्यशील निर्देशिका और सूचकांक के बीच अंतर को दर्शाता है।

आप पहले से ही जोड़ा है, तो मचान क्षेत्र में परिवर्तन ( का मंचन किया), git diff --staged काम करता है। स्टेजिंग क्षेत्र वह डेटा है जिसके द्वारा अगली प्रतिबद्धता git commit द्वारा बनाई जाएगी।

पी.एस. अच्छा Git शुरुआती के लिए पढ़ने (IMO):

  • https://git-scm.com/book/en/v2 (सबसे अध्यायों, यह Git और जवाब ठेठ सवालों के अधिकांश के पीछे मॉडल बताते हैं)
  • और फिर तुरंत http://gitready.com/ (उपयोग की टिप्स)।
+0

चरणबद्ध नहीं है केवल फाइलों पर लागू नहीं है? सोचा था कि आपको कैश किए गए ध्वज का उपयोग करना था। – pbond

+3

@ पीटरबॉन्ड 'मैन गिट-डिफ' कहता है '- स्टेटेड - cached' –

+0

का समानार्थी है, धन्यवाद, धन्यवाद! – pbond

3

क्या मैं इस तरह के मामलों के लिए उपयोग करते हैं: के बाद से पिछले प्रतिबद्ध

git diff HEAD * 

यह परिवर्तन भी दिखाई देंगे। यद्यपि यह किसी भी तरह से

git diff .