अद्यतन: के रूप में अन्य लोगों ने बताया, किसी भी रिबेसिंग ऐसा नहीं करते हैं, या किसी भी प्रकार यदि आप किसी दूरस्थ मूल करने के लिए धक्का दिया और अन्य डेवलपर्स के साथ इस कोड साझा किया है के इतिहास को फिर से लिखने। संक्षिप्त उत्तर: यह खतरनाक और जोखिम भरा है!
मैं इसके लिए rebase आदेश बाहर की जाँच की सलाह देते हैं।
git rebase -i HEAD~5
आपका संपादक के साथ पॉप अप होगा: यह आप के लिए
वास्तव में क्या कह रहे हैं तो क्या इस छोटे प्रतिबद्ध लेते हैं और उन्हें बड़ों में गठबंधन
इसका इस्तेमाल करने के लिए है करता है आखिरी 5 कुछ दस्तावेजों के साथ वर्तमान शाखा के प्रमुख से काम करता है। आपके मामले में आप squash
का उपयोग करना चाहेंगे। साइट मैं जुड़ा हुआ यह वास्तव में अच्छी तरह से बताते हैं, वे इस उदाहरण है:
pick 01d1124 Adding license
squash 6340aaa Moving license into its own file
squash ebfd367 Jekyll has become self-aware.
squash 30e0ccb Changed the tagline in the binary, too.
यह पिछले 3 प्रतिबद्ध पैकेज और उन सभी को एक आप pick
के रूप में चिह्नित किया है के तहत रखा जाएगा। फिर आप प्रतिबद्ध संदेश को संशोधित कर सकते हैं और आगे।
मज़ा
स्क्वैशिंग के लिए http://stackoverflow.com/questions/2302736/trimming-git-checkins-squashing-git-history/2302947#2302947 देखें – VonC
आप सहायता के लिए प्री-प्रतिबद्ध हुक जोड़ने पर भी विचार करना चाहेंगे अपनी कोडिंग शैली की समीक्षा करें। इसके साथ, यदि आप कोड को करने का प्रयास करते हैं तो आपके द्वारा सेट किए गए कुछ मानकों का उल्लंघन करने पर आप गिट शिकायत कर सकते हैं। आप पहली जगह खराब कामों को रोकने में मदद कर सकते हैं! उदाहरण पूर्व-प्रतिबद्ध हुक ('.git/hooks/pre-commit.sample') लाइनों के पीछे पीछे की जगहों जैसी चीजों को देखता है। आप एक स्क्रिप्ट में जीएनयू इंडेंट को लपेट सकते हैं, उदाहरण के लिए, एक विशिष्ट कोडिंग शैली को लागू करने के लिए, और इसे अपने प्री-प्रतिबद्ध हुक में डाल दें। –