एक शाखा को पुनः आधार बनाएं
रीबेसिंग आपकी शाखा की प्रतिबद्धताओं को दूसरी शाखा के शीर्ष पर दोहराता है, इसलिए इतिहास एक सीधी रेखा में रहता है, जैसे कि git rebase। कमिट को नई आईडी मिलती हैं; GitTree पुरानी शाखा को refs/ogt/trash के अंतर्गत रखता है और Undo उसे वापस लाता है।
GitTree में निःशुल्क काम करता है: आपके साइन इन करने के बाद प्रत्येक स्थानीय Git सुविधा।
इस पेज पर
शुरू करने से पहले
- उस शाखा की जाँच करें जिसे आप स्थानांतरित करना चाहते हैं, जैसे कि
feature/search। - केवल उन शाखाओं को प्राथमिकता दें जिन पर आप काम करते हैं: पुनर्लेखन उन प्रतिबद्धताओं को करता है जो दूसरों के पास पहले से ही हो सकती हैं।
इसे कहां खोजें
- पुनः आधार बनाने के लिए शाखा के लेबल पर राइट-क्लिक करें: Rebase … onto …।
- किसी भी कमिट पर राइट-क्लिक करें: Rebase … onto जो कमिट है।
- अपने शाखा लेबल को दूसरी शाखा पर खींचें, फिर रिबेस चुनें।
| कार्रवाई | macOS | Windows और Linux |
|---|---|---|
| Undo एक रिबेस | ⌘Z | Ctrl+Z |
कदम
विकल्पों की जाँच करें
पुष्टिकरण कहता है कि प्रत्येक कमिट को एक नई आईडी के साथ दोबारा चलाया जाता है और पुरानी शाखा को रखा जाता है। Options for this rebase के अंतर्गत आप स्थानीय परिवर्तनों को छिपा सकते हैं और उन्हें वापस रख सकते हैं, और उन शाखाओं को स्थानांतरित कर सकते हैं जो इन प्रतिबद्धताओं की ओर इशारा करती हैं।
पुनः आधार
Rebase … दबाएँ. एक बैनर चलते समय Rebasing … onto …, step … of … दिखाता है।
अपेक्षित परिणाम
आपकी शाखा दूसरी शाखा के सिरे से शुरू होती है, यह उसके ऊपर एक सीधी रेखा में प्रतिबद्ध होती है। यदि यह पहले से ही रिमोट पर था तो इसे लीज के साथ जोर से दबाएं।
जब एक कदम में टकराव होता है
- Resolve विवादित फ़ाइलें खोलता है; जब उनका निपटारा हो जाता है, तो Continue अगले चरण पर आगे बढ़ता है।
- Skip उस प्रतिबद्धता को छोड़ देता है जो विरोध करती है और जारी रहती है।
- Abort… रुकता है और शाखा को बिल्कुल वैसे ही वापस रख देता है जैसी वह थी।
अगर कुछ गलत होता है
स्थानीय परिवर्तनों के कारण रीबेस प्रारंभ नहीं हो सकता
रीबेस विकल्पों में स्थानीय परिवर्तनों को छिपाने की सुविधा चालू करें, या पहले उन्हें कमिट करें या छिपाएँ (स्टैश)।
रिबेस के बाद पुश अस्वीकार कर दिया गया है
The remote still has the old commits. Use Force Push (With Lease)…; it refuses if someone else pushed in the meantime (fetch, pull and push).
प्रश्न
मैं पुन: आधार बनाते समय कमिट को कैसे स्क्वैश या पुन: व्यवस्थित करूँ?
एक इंटरैक्टिव रीबेस का उपयोग करें: आप प्रत्येक कमिट के लिए चुनते हैं कि क्या चुनना है, दोबारा लिखना है, संपादित करना है, स्क्वैश करना है, ठीक करना है या छोड़ना है, और फिर से व्यवस्थित करने के लिए खींचें।
