इंटरैक्टिव रिबेस के साथ इतिहास संपादित करें
एक इंटरैक्टिव रिबेस चुने हुए से ऊपर की प्रतिबद्धताओं को फिर से लिखता है: रखें, दोबारा लिखें, संपादित करें, स्क्वैश करें, प्रत्येक को ठीक करें या छोड़ें, और उन्हें एक नए क्रम में खींचें, जैसे कि git rebase -i। एकल परिवर्तन के लिए, कमिट के मेनू में Edit History इसे एक चरण में करता है।
GitTree में निःशुल्क काम करता है: आपके साइन इन करने के बाद प्रत्येक स्थानीय Git सुविधा।
इस पेज पर
शुरू करने से पहले
- पुनः लिखने की प्रतिबद्धता आपकी वर्तमान शाखा पर है, उनके बीच कोई मर्ज प्रतिबद्धता नहीं है।
- उन कमिट्स को प्राथमिकता दें जिन्हें आपने आगे नहीं बढ़ाया है: दोबारा लिखे गए कमिट्स को नई आईडी मिलती हैं।
इसे कहां खोजें
- बदलने के लिए कमिट के ठीक नीचे राइट-क्लिक करें: Edit History › Interactive Rebase of the Commits Above…।
- एक ही Edit History मेनू में एक-चरणीय संपादन: Edit Commit Message…, Drop Commit…, Move Commit Up और Move Commit Down।
- कई कमिट चुनें, फिर राइट-क्लिक करें: Squash Commits…।
| कार्रवाई | macOS | Windows और Linux |
|---|---|---|
| Undo संपूर्ण रिबेस | ⌘Z | Ctrl+Z |
कदम
संपादक खोलें
बदलने के लिए नीचे दिए गए कमिट पर राइट-क्लिक करें और Edit History › Interactive Rebase of the Commits Above… चुनें। सबसे पुराना कमिट शीर्ष पर है, जिस क्रम में उन्हें दोबारा चलाया जाता है।

प्रत्येक चरण में एक क्रिया होती है; यहां एक कमिट को ऊपर वाले में तोड़ दिया गया है और दूसरे को दोबारा लिखा गया है।GitTree प्रदर्शन भंडार के साथ इंटरफ़ेस। प्रत्येक प्रतिबद्धता के लिए एक क्रिया चुनें
प्रत्येक चरण पर Action सेट करें: Pick इसे रखता है, Reword इसका संदेश बदलता है, Edit वहीं रुकता है ताकि आप इसमें संशोधन कर सकें, Squash और Fixup इसे ऊपर दिए गए कमिट में मोड़ें, Drop इसे छोड़ दें।
यदि आवश्यक हो तो पुनः व्यवस्थित करें
किसी चरण को उसके हैंडल से खींचें, या उस पर ध्यान केंद्रित करें और Alt+↑ या Alt+↓ दबाएँ। अक्षर भी काम करते हैं: पी, आर, ई, एस, एफ और डी क्रियाएं निर्धारित करते हैं।
रिबेस प्रारंभ करें
Start Rebase दबाएँ. यदि कुछ कमिट पहले से ही रिमोट पर हैं, तो पहले उन्हें दोबारा लिखने की पुष्टि करें। GitTree कहते हैं Rebase finished. Undo can put the branch back.
अपेक्षित परिणाम
शाखा नई आईडी के साथ दोबारा लिखी गई प्रतिबद्धताओं को रखती है। पुरानी शाखा को refs/ogt/trash के अंतर्गत रखा गया है।
प्रत्येक क्रिया क्या करती है
| कार्रवाई | नतीजा |
|---|---|
| Pick | प्रतिबद्धता वैसी ही रहती है जैसी वह है। |
| Reword | वही परिवर्तन, नया संदेश जो आप संपादक में टाइप करते हैं। |
| Edit | इस प्रतिबद्धता के बाद रिबेस बंद हो जाता है इसलिए आप इसमें संशोधन कर सकते हैं, फिर बैनर से जारी रख सकते हैं। |
| Squash | उपरोक्त प्रतिबद्धता में मुड़ा हुआ; संदेश संयुक्त हैं. |
| Fixup | उपरोक्त प्रतिबद्धता में मुड़ा हुआ; इसका अपना संदेश खारिज कर दिया जाता है। इसके बजाय Fixup, use its message इसका संदेश रखता है। |
| Drop | शाखा से बाहर छोड़ दिया गया. |
अगर कुछ गलत होता है
"इन प्रतिबद्धताओं में एक मर्ज शामिल है, इसलिए उन्हें केवल यहां दिखाया जा सकता है, दोबारा नहीं लिखा जा सकता है।"
GitTree में इंटरएक्टिव रिबेस केवल रैखिक इतिहास को फिर से लिखता है। मर्ज के ऊपर एक प्रतिबद्धता से प्रारंभ करें।
"कदम... शून्य में समा जाता है: इसे रखी गई प्रतिबद्धता से नीचे ले जाएं।"
एक स्क्वैश या फिक्सअप को मोड़ने के लिए इसके ऊपर एक प्रतिबद्धता की आवश्यकता होती है। इसे स्थानांतरित करें, या पहले चरण को पिक में बदलें।
प्रश्न
मैं अनेक प्रतिबद्धताओं को एक में कैसे बदलूँ?
उन्हें ग्राफ़ में चुनें और Squash Commits… चुनें: स्क्वैश डायलॉग पहले परिणाम, संदेश और सह-लेखकों को दिखाता है। या संपादक में प्रत्येक कमिट को पहले के बाद Squash या Fixup पर सेट करें।