पर विचार करें मैं करताGit स्क्वैश और बनाए रखने के पिछले प्रतिबद्ध का टाइमस्टैंप
... -- A -- B -- C
अगर मैं git rebase -i
का उपयोग एक में सभी तीन प्रतिबद्ध छुटकारा पाने के लिए, हम
pick A
squash B
squash C
मैं हुई देख सकते हैं प्रतिबद्ध A
है इसके मूल टाइमस्टैम्प। यह C
(आखिरी एक) प्रतिबद्धता का टाइमस्टैम्प कैसे प्राप्त कर सकता है?
मैं क्या सोच सकता हूं git commit --amend --date=<new_time>
है, लेकिन इस तरह स्क्वैश या रीफ्लॉग से पहले C
प्रतिबद्धता के टाइमस्टैम्प को याद रखने की आवश्यकता है।
मुझे लगता है कि नवीनतम प्रतिबद्धता का टाइमस्टैम्प अधिक उचित है, क्योंकि यह दिखाता है कि जब मैंने वास्तव में काम में काम पूरा किया था।
धन्यवाद।
आप 'tformat' का उपयोग क्यों करते हैं? –
@ क्रेंडकिंग: इस मामले में इससे कोई फर्क नहीं पड़ता कि यह 'प्रारूप' या 'tformat' है क्योंकि' tformat' newline शैल के कमांड प्रतिस्थापन नियमों द्वारा छीन लिया गया है। हालांकि, 99% बार मैं अंतिम न्यूलाइन (या जो भी टर्मिनेटर है) चाहता हूं क्योंकि मैं आमतौर पर एक स्क्रिप्ट के साथ कस्टम लॉग आउटपुट पार्स कर रहा हूं। यह सुनिश्चित करने के लिए कि जब मैं मायने रखता हूं, तो मैं आदत से 'tformat' टाइप करता हूं, जब भी इससे कोई फर्क नहीं पड़ता तब भी मैं' tformat' का उपयोग करता हूं। –