2010-11-02 19 views
130

मेरे पास एक प्रतिबद्धता सी है। मैं उस सटीक प्रतिबद्धता सी + मेटाफॉर्मेशन के बदलाव को प्राप्त करना चाहता हूं और कोई अन्य नहीं। क्या ऐसा करने के लिए git log -p c^..c से कोई आसान तरीका है?एक संशोधन के गिट लॉग

उत्तर

196

आप

git show c 

+3

हाँ, बिल्कुल। बिंदु और जीत। – zedoo

+1

'गिट शो' अद्भुत है। – bryanbraun

7

git log -p c -1 बस यही करता है।

36

मीकल Trybus 'जवाब सादगी के लिए सबसे अच्छा है (जहाँ c प्रतिबद्ध आईडी है) का उपयोग कर सकते हैं। लेकिन अगर आप नहीं है diff अपने उत्पादन में चाहते हैं तो आप हमेशा की तरह कुछ कर सकते हैं:

git log -1 -U c 

कि आप लॉग प्रतिबद्ध दे देंगे, और फिर आप के लिए सभी Git लॉगिंग विकल्पों पर पूरा नियंत्रण होगा अपने स्वचालन उद्देश्यों। आपके उदाहरण में आपने कहा था कि आप परिवर्तन-सेट चाहते थे। सबसे मानव पठनीय रास्ता पूरा करने के लिए है कि होगा:

git log --name-status --diff-filter="[A|C|D|M|R|T]" -1 -U c 

या, आप 1.8.x से अधिक Git संस्करण उपयोग कर रहे हैं यह होगा:

git log --name-status --diff-filter="ACDMRT" -1 -U c 

यह आपको दे देंगे परिणाम इसी तरह करने के लिए:

commit {c} 
Author: zedoo <[email protected]> 
Date: Thu Aug 2 {time-stamp} 

    {short description} 
D zedoo/foo.py 
A zedoo/bar.py 

बेशक आप जो भी घटनाओं आपको योग्य को फ़िल्टर, और बदले प्रारूप के रूप में आप जो अच्छी तरह here प्रलेखित पारंपरिक Git-लॉग कमांड के माध्यम से इच्छा कर सकते हैं।

+9

यदि आप diff नहीं चाहते हैं, तो 'git show --name-only 'करें! – dbn

+12

यदि आप सिर्फ diff नहीं चाहते हैं, तो 'git show -s ' का उपयोग करें। – moeffju

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