2011-11-04 17 views
28

समय की अवधि (जैसे एक दिन, एक सप्ताह, एक महीने) को देखते हुए सभी फ़ाइलों को सूचीबद्ध/संशोधित करें, क्या संशोधित सभी फ़ाइलों को सूचीबद्ध करना संभव है या इस बार जोड़ा?गिट: एक दिन (या सप्ताह/महीने ...)

+0

धन्यवाद, कई अलग-अलग समाधानों के लिए हर कोई! मैं उन सभी को स्वीकार करना चाहता हूं क्योंकि सभी मेरे प्रश्न हल करते हैं। मैं @ अदरक के समाधान को स्वीकार करता हूं क्योंकि मुझे संशोधित/जोड़ा संकेतक पसंद है ... – thias

+0

दरअसल - नाम-स्थिति 'गिट लॉग' के साथ भी काम करती है। कृपया मेरे उत्तर की टिप्पणियों को भी न दें, जो एक सीमा को इंगित करते हैं .. जल्द ही स्पष्ट करेंगे। – inger

उत्तर

29

मैं सीधे फ़ाइल सूची उपज के लिए, diff का उपयोग करेंगे जैसे:

git diff --name-only "@{3 days ago}" "@{2 days ago}" 

changelog.txt 
newfile.txt 

यदि आप उत्सुक हैं कि कौन सी फ़ाइल संशोधित या जोड़ दी गई है, तो इसके बजाय - नाम-स्थिति का उपयोग करें:

git diff --name-status "@{3 days ago}" "@{2 days ago}" 

M  changelog.txt 
A  newfile.txt 
+2

ध्यान दें कि @ {...} नोटेशन अविश्वसनीय हो सकता है - वास्तविक वास्तविकताओं की तुलना में इसमें बहुत अधिक कोरसर ग्रैन्युलरिटी हो सकती है - क्योंकि यह काम करने के लिए मानचित्रों को मानचित्र में पुन: लॉग प्रविष्टियों का उपयोग करता है, और प्रविष्टियां केवल पुन: लॉग में जोड़ दी जाती हैं _your_ क्रियाओं के लिए (और उदाहरण के लिए, पुल में प्रत्येक प्रतिबद्धता के लिए नहीं)। – snogglethorpe

+0

आपका मतलब है रीफ्लॉग? वैसे भी, अनुस्मारक के लिए धन्यवाद - मैंने उपयोग किया होगा - सेन्स और --until लेकिन यह अपेक्षित परिणाम नहीं लग रहा है। क्या आप एक और अधिक विश्वसनीय विकल्प जानते हैं? – inger

+0

हाँ, रीफ्लॉग :) (argh, आप पिछले 5 मिनट में टिप्पणियां क्यों संपादित नहीं कर सकते ...) – snogglethorpe

4

प्रयास करें:

git log --since="2 days ago" --until="1 days ago"

आप को छोड़ देते हैं, तो --until आपने पिछले दो दिनों के लिए लॉग मिल जाएगा। आप हफ्तों, महीनों आदि को भी तेज कर सकते हैं। आप गिट diff का उपयोग --since और --until पैरामीटर के साथ भी कर सकते हैं। आउटपुट स्वरूपण पर थोड़ा सा काम करें और आप कर चुके हैं।

20

हो सकता है कि यह:

git log --since="1 day ago" --name-only --pretty=format: | sort | uniq 

--until शामिल करें यदि आप एक दिन के लिए चाहते हैं, सप्ताह आदि

+0

आप -u: 'git log --since =" 1 दिन पहले "--name-only --pretty = format: का उपयोग करके एक कमांड को छोड़ सकते हैं। sort -u' .. यह भी सोचा कि यह अभी भी एक सरल 'गिट diff' से अधिक जटिल है .. जो ओटीओएच, वर्तमान गिट के साथ एक मुद्दा हो सकता है (मेरे उत्तर की टिप्पणियां देखें)। – inger

+0

इस समाधान में यूनिक का उपयोग करने के बारे में निश्चित नहीं है। फाइलों की एक ही संख्या में बदलाव, सम्मिलन और हटाना अलग-अलग हो सकता है, यदि आप यूनिक के माध्यम से परिणाम पाइप करते हैं तो गायब हो जाएगा। – i4h

9

गिट whatchanged आपको जो भी चाहिए, उसे सूचीबद्ध करना चाहिए, यह सूचीबद्ध करना चाहिए कि कौन सी फाइलें संशोधित की गई थीं।

$ git --version 
git version 1.7.8.rc0.35.gee6df 
$ git whatchanged --since '10/27/2011' --until '10/30/2011' --oneline 
55e7c0a (squash) test for previous 
:100755 100755 dbf623b... 53905a2... M t/t8006-blame-textconv.sh 
2564aa4 blame.c: Properly initialize strbuf after calling, textconv_object() 
:100644 100644 173f286... e39d986... M builtin/blame.c 
e8e1c29 Update draft release notes to 1.7.8 
:100644 100644 3045245... ddb8d37... M Documentation/RelNotes/1.7.8.txt 
8debf69 clone: Quote user supplied path in a single quote pair 
:100644 100644 488f48e... efe8b6c... M builtin/clone.c 
16

मैं इस का उपयोग एक स्वच्छ सूची प्राप्त करने:

git whatchanged --since '04/14/2013' --until '05/22/2014' --oneline --name-only --pretty=format: | sort | uniq >> changedlist.txt 
+0

04/14/15 से 05/22/2014 या पिछले 7 दिनों/सप्ताह के भीतर से कौन सी फाइलें नहीं बदली हैं, यह देखने के लिए समान आदेश कैसे चलाएं? धन्यवाद। –

+0

मैंने यहां एक उत्तर पोस्ट किया: http://stackoverflow.com/questions/31443727/git-how-to-list-all-files-that-have-not-been-changed-since-a-certain-date जो सौदों इस पोस्ट के अनुरोध के विपरीत के साथ लेकिन यह उपयोगी है। –

3

यहाँ खाली लाइनों के बिना एक और है:

यहाँ Git स्रोत का उपयोग एक उदाहरण है

git log --after="2015-11-05T16:36:00-02:00" --before="2015-11-15T16:36:00-02:00" --pretty=format:"" --name-only | sed '/^\s*$/d' | sort | uniq -u 
संबंधित मुद्दे