आप की एक सीरियल संयोजन का उपयोग कर सकते हैं git rebase
और git branch
किसी अन्य शाखा पर प्रतिबद्ध के एक समूह लागू करने के लिए। जैसा कि पहले ही wolfc द्वारा पोस्ट किया गया पहला कमांड वास्तव में कमिट को कॉपी करता है। हालाँकि, परिवर्तन तब तक दिखाई नहीं देता है जब तक कि आप समूह के सबसे शीर्ष पर एक शाखा का नाम नहीं जोड़ते हैं।
कृपया चित्र को एक नए टैब में खोलें ...
पाठ रूप में आदेशों को संक्षेप में प्रस्तुत करने के लिए:
- कमांड का उपयोग करके एक स्वतंत्र प्रक्रिया के रूप में गिटक खोलें
gitk --all &
:।
- भागो
git rebase --onto a b f
।
- GitkF5 में दबाएं । कुछ नहीं बदलता है। लेकिन कोई निशान नहीं है।
HEAD
- Daud
git branch selection
- GitkF5 में दबाएं । इसके कमिट के साथ नई शाखा दिखाई देती है।
यह चीजों को स्पष्ट करना चाहिए:
- कमेटी
a
ग्रुप का नया रूट डेस्टिनेशन है।
- कमेटी
b
ग्रुप की पहली कमेटी (अनन्य) से पहले की प्रतिबद्धता है।
- कमेटी
f
ग्रुप का अंतिम कमिट (समावेशी) है।
बाद में, आप इस्तेमाल कर सकते हैं git checkout feature && git reset --hard b
प्रतिबद्ध नष्ट करने के लिए c
जब तक f
से feature
शाखा।
इस उत्तर के अलावा, मैंने एक ब्लॉग पोस्ट लिखी जिसमें कमांड्स का वर्णन एक अन्य परिदृश्य में किया गया है जो आम तौर पर इसका उपयोग करने में मदद करनी चाहिए।
b
आधारित होना चाह सकते हैंf
, लेकिन इसका चेरी-पिकिंग से कोई लेना-देना नहीं है।)