यदि आपने परिवर्तन नहीं किए हैं
यदि आपके परिवर्तन अन्य शाखा के अनुकूल हैं
यह प्रश्न से मामला है क्योंकि ओपी एक नई शाखा के लिए प्रतिबद्ध करना चाहता है और यह भी लागू होता है कि क्या आपके परिवर्तन एक ओवरराइट को ट्रिगर किए बिना लक्ष्य शाखा के साथ संगत हैं।
जॉन ब्रॉडी द्वारा स्वीकार किए गए उत्तर में, आप बस नई शाखा की जांच कर सकते हैं और काम कर सकते हैं:
git checkout -b branch_name
git add <files>
git commit -m "message"
यदि आपके परिवर्तन अन्य शाखा के साथ असंगत हैं
यदि आपको त्रुटि मिलती है:
error: Your local changes to the following files would be overwritten by checkout:
...
Please commit your changes or stash them before you switch branches
तब आप अपने काम को रोक सकते हैं, एक नई शाखा बना सकते हैं, फिर अपने स्टैश में बदलाव कर सकते हैं, और संघर्षों को हल कर सकते हैं:
git stash
git checkout -b branch_name
git stash pop
यह ऐसा होगा जैसे आपने नई शाखा बनाने के बाद उन बदलावों को किया था। फिर आप हमेशा की तरह कमिट कर सकते हैं:
git add <files>
git commit -m "message"
अगर आपने बदलाव किए हैं
अगर आप मूल शाखा में कमिट्स रखना चाहते हैं
चेरी-पिकिंग के साथ कार्ल नॉरम का जवाब देखें, जो इस मामले में सही उपकरण है:
git checkout <target name>
git cherry-pick <original branch>
यदि आप मूल शाखा में आवागमन नहीं रखना चाहते हैं
इस संभावित डुप्लिकेट पर joeytwiddle द्वारा उत्तर देखें । उपरोक्त चरणों में से किसी एक का पालन करें, फिर मूल शाखा को वापस रोल करें:
git branch -f <original branch> <earlier commit id>
यदि आपने अपने परिवर्तन को GitHub जैसे साझा रिमोट पर धकेल दिया है, तो आपको इस रोल-बैक का प्रयास नहीं करना चाहिए जब तक कि आप यह नहीं जानते कि आप क्या कर रहे हैं।