2010-09-29 19 views
220

संभव डुप्लिकेट:
How to search through all commits in the repository?कमांड लाइन का उपयोग कर प्रतिबद्ध संदेशों में कैसे खोजें?

वहाँ हेडर कमांड लाइन का उपयोग कर प्रतिबद्ध के माध्यम से खोज करने के लिए कोई तरीका है?

+5

यह वास्तव में एक नकली नहीं है, अन्य प्रश्न करता झूलते जबकि ** यह एक नहीं है ** के बारे में पूछता है। फिर से खोलने के लिए मतदान। – sashoalm

+0

आह। लेकिन यह [यह एक] का एक डुप्लिकेट है (http://stackoverflow.com/questions/7124914/how-to-search-a-git-repository-by-commit-message)। हालांकि यह एक पुराना सवाल है, नए व्यक्ति के पास बेहतर जवाब है Iho। काश मैं फिर से खोलने के लिए अपना वोट रद्द कर सकता हूं। – cfi

उत्तर

314
git log --grep=<pattern> 
    Limit the commits output to ones with log message that matches the 
    specified pattern (regular expression). 

- git help log

+3

पर ठीक काम करता है मुझे लगता है कि यह जवाब आंशिक रूप से गलत है, क्योंकि '--grep' विकल्प केवल शीर्षलेख के बजाय पूरे प्रतिबद्ध संदेश की खोज करता है। इस मामले में @ czchen का उत्तर अधिक सही है। – pedromanoel

+10

उस तथ्य को छोड़कर कि czchen के उत्तर को बाहरी grep उपयोगिता –

+0

के उपयोग की आवश्यकता है, धन्यवाद, इससे पहले कि मैंने मुझे बहुत मदद की, इससे पहले कि मैंने ack-grep का उपयोग किया। –

160
git log --oneline | grep PATTERN 
+11

यह स्वीकार्य उत्तर होना चाहिए! – pedromanoel

+13

क्या यह मिस पहले के अलावा प्रतिबद्ध संदेश की लाइनों में PATTERN के साथ काम नहीं करेगा? – tutuDajuju

+12

को जीआरई उपलब्ध होने की आवश्यकता है, यानी यह एक लिनक्स/गिट बैश विशिष्ट समाधान है (जब तक कि आपने विंडोज़ पर जीआरपी स्थापित नहीं किया हो) –

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