2012-05-23 16 views
8

मै मैक के लिए जिथब का उपयोग कर रहा हूं, जीआईटी गिट के लिए जीआईआईबी प्रदान करता है, और मैंने इतिहास में एक प्रतिबद्धता को वापस कर दिया। मैंने तब फैसला किया कि मैं इसे दोबारा वापस करना चाहता हूं, और .... लंबी कहानी छोटी है, मेरे पास अनावश्यक हैं जो गिनब के साथ सिंक नहीं करना चाहते हैं, लेकिन वे स्वचालित रूप से प्रतिबद्ध हैं इसलिए मेरे पास एकमात्र विकल्प है सिंक करना है।मैक के लिए github में असामान्य कैसे करें?

क्या उन परिवर्तनों को अनदेखा करने का कोई तरीका नहीं है?

+2

आप कमांड लाइन का भी डर नहीं कर रहे हैं, 'Git रीसेट <प्रतिबद्ध आप को रीसेट करना चाहते हैं>' प्रयास करें। – Reactormonk

+0

धन्यवाद, मैंने वास्तव में जो किया है, लेकिन मैं यह देखने की कोशिश कर रहा हूं कि जीयूआई के माध्यम से ऐसा करने का कोई तरीका है या नहीं – GiH

उत्तर

5

ऐसा लगता है कि वर्तमान में जीयूआई के माध्यम से कोई रास्ता नहीं है ... उम्मीद है कि गिथब में अच्छे लोग इसे देखेंगे और इसे एक फीचर सुझाव के रूप में लेंगे।

अभी के लिए हम केवल ऊपर टिप्पणी में सुझाए गए तस के रूप में ही कर सकते हैं। राइट एक अपने स्थानीय रेपो में प्रतिबद्ध करने के बाद

, लेकिन समन्वयित करने से पहले, मैक के लिए GitHub आप की अनुमति देगा: git reset <commit you want to reset to>

3

यहाँ चीजें आप मैक जीयूआई के लिए GitHub साथ क्या कर सकते हैं अपनी अंतिम प्रतिबद्धता पूर्ववत करें। परिवर्तन फलक के नीचे "पूर्ववत करें" बटन का उपयोग करें। यह वही है जो मैं अक्सर उपयोग करता हूं।

बी सिंक करने के बाद, आप जीआईआई से को एक प्रतिबद्धता वापस कर सकते हैं: अपनी भंडार का चयन करें, फिर "इतिहास" चुनें। अंत में अंतिम प्रतिबद्धता का चयन करें। शीर्ष पर प्रतिबद्धता के विस्तृत (फ़ाइल diff) दृश्य में आपको एक "सेटिंग" गियर आइकन दिखाई देगा। प्रविष्टि के साथ यह एक ड्रॉप-डाउन मेनू है "इस कमिट को वापस करें"। निचे देखो। ध्यान दें कि यह आपकी प्रतिबद्धता को नहीं हटाता है लेकिन यह प्रभावी रूप से आपके प्रतिबद्ध द्वारा किए गए परिवर्तनों को कम करता है।

सी। यदि आप पहले की प्रतिबद्धता (यानी, अंतिम से पहले) का चयन करते हैं, तो आप उसी मेनू का उपयोग "इस कमिट पर रोल रोल" कर सकते हैं। दोबारा, यह आपके कामों को हटा नहीं देता है लेकिन उन परिवर्तनों को प्रस्तुत करता है जिनके प्रभाव को पूर्ववत करने का असर पड़ता है।

यह अभी भी सबसे अच्छा है जो जीयूआई के माध्यम से किया जा सकता है। यदि आप वास्तव में इतिहास से अपने पिछले काम को हटाना चाहते हैं, तो आपको अभी भी कमांड लाइन का उपयोग करने की आवश्यकता है: उदा। git rebase -i HEAD~2 आपको अपने पिछले दो कामों को एक में स्क्वैश करने की अनुमति देगा। मार्गदर्शन के लिए the answers to this question देखें।

डी नोट करें कि एक बार जब आप कमांड लाइन से स्क्वैश करते हैं, तो आप GUI से अंतिम प्रतिबद्धता (यानी, स्क्वैश का परिणाम) को फिर से खोलने के लिए (ए) का उपयोग कर सकते हैं।


enter image description here