2015-01-26 8 views
6

मैंने प्रतिबद्ध किया है, CM, और फिर कई पैच, P1 और P2 लागू किया। तो अपने इतिहास लग रहा हैसभी प्रतिबद्धताओं के शीर्ष पर एक प्रतिबद्धता

तरह
C1-C2-CM-P1-P2 

जहां C1 और C2 पिछले दो प्रतिबद्ध हैं।

समस्या यह है कि मैं अपनी प्रतिबद्धता के लिए पैच बनाना भूल गया। प्रतिबद्धता के शीर्ष पर मेरी प्रतिबद्धता CM कैसे स्थानांतरित करें? इतिहास

C1-C2-P1-P2-CM 

उत्तर

7

आप अभी तक अपने शाखा धक्का नहीं है, तो आप एक इंटरैक्टिव रिबेस कर सकते हैं:

git rebase -i C2 

फिर आप P1-P2-CM के रूप में अपने प्रतिबद्ध क्रम बदल सकते हैं, और उन्हें C2 के शीर्ष पर फिर से लागू।

4

आप rebase -i का उपयोग कर सकते हैं।

$ git rebase -i HEAD~5 

यह आपके पाठ संपादक को नवीनतम 5 प्रतिबद्धताओं के साथ खोल देगा। जिस क्रम में आप चाहते हैं उसमें प्रतिबद्धता को पुन: व्यवस्थित करें, फिर सहेजें और बंद करें।

+0

HEAD ~ 3 या C2 (जैसा कि मैंने अपने उत्तर में उल्लेख किया है) पर्याप्त होना चाहिए। – VonC

1

git rebase -i C1 और फिर उस संपादक में जो पॉप अप करता है, काम करता है, बचाता है और छोड़ देता है। यदि कोई विवाद या चीजें नहीं हैं, तो यह इसे फिर से व्यवस्थित करेगी।

+0

सी 1 क्यों? सी 2 (जैसा कि मैंने अपने उत्तर में उल्लेख किया है) यहां पर्याप्त होना चाहिए। – VonC

+0

होना चाहिए। मैंने बस पहली प्रतिबद्धता को देखा जो मैं देख सकता था। –

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