अपडेट करें
नोट: यह उत्तर मूल रूप से विंडोज के लिए सोर्सट्री के पुराने संस्करणों के संबंध में लिखा गया था, और अब पुराना है।
विंडोज के लिए सोर्सट्री के मौजूदा संस्करण के लिए मेरा नया उत्तर देखें , 1.5.2.0 । मैं ऐतिहासिक उद्देश्यों के लिए इस उत्तर को पीछे छोड़ रहा हूं।
मूल उत्तर
जैसा कि मैं विंडोज पर हूं, मेरे पास कमांड लाइन टूल नहीं है और न ही मुझे पता है कि एक का उपयोग कैसे करना है :( क्या यह एकमात्र तरीका है कि मुझे सुलझाया जाए? जीयूआई सभी गिट के कार्यों को कवर नहीं करता है? - मूल पोस्टर
Git GUIs के बारे में, नहीं, वे Git के सभी कार्यों को कवर नहीं करते हैं । वे पास भी नहीं आते । मेरा सुझाव है कि आप उत्तर में से एक की जांच करें कि मैं कैसे Git में एक गलत प्रतिबद्ध संदेश संपादित कर सकता हूं? , गिट पर्याप्त लचीला है कि कमांड लाइन से ... कई समाधान हैं।
SourceTree वास्तव में पहले से ही msysgit bash शेल के साथ आ सकता है, या यह मानक विंडोज कमांड शेल का उपयोग करने में सक्षम हो सकता है। किसी भी तरह से, आप इसे टर्मिनल बटन पर क्लिक करके फॉर्मट्री खोलें।
आप सेट करें कि कौन सा टर्मिनल सोर्सट्री का उपयोग करता है (बैश या विंडोज) यहाँ:
SourceTree में समस्या को हल करने का एक तरीका
कहा जा रहा है, यहाँ एक तरह से आप इसे SourceTree में कर सकते हैं। चूँकि आपने टिप्पणियों में उल्लेख किया है कि आप "दोषपूर्ण कमिट पर वापस लौटने का बुरा नहीं मानते" (जिसके द्वारा मैं आपको वास्तव में रीसेट करने का मतलब है, जो गिट में एक अलग ऑपरेशन है), तो यहाँ कदम हैं:
- SourceTree में खराब रीसेट को राइट-क्लिक करके और चयन कर
Reset current branch to this commit
, और ड्रॉप डाउन से हार्ड रीसेट विकल्प का चयन करके हार्ड रीसेट करें।
- फिर कमिट बटन पर क्लिक करें
- नीचे दिए गए चेकबॉक्स पर क्लिक करें जो कहता है कि "नवीनतम प्रतिबद्धता में संशोधन करें"।
- संदेश में इच्छित परिवर्तन करें, फिर फिर से कमेंट पर क्लिक करें। देखा!
इस टिप्पणी के बारे में :
यदि यह संभव नहीं है, क्योंकि यह पहले से ही बिटबकेट में धकेल दिया गया है, तो मुझे एक नया भंडार बनाने और शुरू करने में कोई आपत्ति नहीं होगी।
क्या इसका मतलब यह है कि आप रेपो पर काम करने वाले एकमात्र व्यक्ति हैं? यह महत्वपूर्ण है क्योंकि यह आपके सहयोगियों के लिए समस्या पैदा किए बिना रेपो के इतिहास को बदलने के लिए तुच्छ नहीं है (जैसे कि एक संशोधन करके)। हालाँकि, यह मानते हुए कि आप केवल एकमात्र व्यक्ति हैं जो रेपो पर काम कर रहे हैं, तो अगली चीज़ जो आप करना चाहते हैं वह आपके परिवर्तित इतिहास को रिमोट पर धकेलना है।
हालाँकि, इस बात से अवगत रहें कि क्योंकि आपने दोषपूर्ण कमिट के लिए एक हार्ड रीसेट किया था, तो आपको धक्का देने का कारण बनता है कि आप इसके बाद आने वाले सभी कामों को खो दें। यदि यह ठीक है, तो आपको फोर्स पुश करने के लिए कमांड लाइन पर निम्न कमांड का उपयोग करने की आवश्यकता हो सकती है, क्योंकि मुझे SourceTree में ऐसा करने का विकल्प नहीं मिला:
git push remote-repo head -f
यह भी मानता है कि BitBucket आपको एक रेपो को बल देने की अनुमति देगा।
आपको वास्तव में यह सीखना चाहिए कि कैसे कमांड लाइन से गिट का उपयोग करें, हालांकि, यह आपको गिट में अधिक कुशल बना देगा। #ProTip, msysgit का उपयोग करें और टर्मिनल गुणों पर क्विक एडिट मोड को चालू करें, ताकि आप टेक्स्ट की एक पंक्ति को हाइलाइट करने के लिए डबल क्लिक कर सकें, कॉपी करने के लिए राइट क्लिक करें, और पेस्ट करने के लिए फिर से राइट क्लिक करें। यह बहुत जल्दी है।