2014-10-03 10 views
34

मैं Eclipse और Egit का उपयोग लंबे समय से कर रहा था और Intellij को आजमाने का निर्णय लिया।
अब तक बहुत अच्छा है, एक चीज़ को छोड़कर ...
मुझे अपने रेपो से पुरानी प्रतिबद्धता को वापस करने का एक आसान तरीका नहीं मिल रहा है !!!इंटेलिज गिट एक प्रतिबद्धता

ग्रहण में मानक प्रक्रिया थी: Go to Git Workspace -> Click Show History(Right Click Project) -> RIght-Click on the commit I want to revert and press Revert Commit.

Intellij में मैं कुछ भी बराबर नहीं मिल रहा। VCS -> Show Changes View का प्रयास किया लेकिन वहां मैं केवल cherry pick प्रतिबद्धता कर सकता हूं। मैंने VCS -> git के तहत रिवर्ट विकल्प के साथ भी खेला लेकिन changelist चीज़ से भ्रमित हो गया (यह जवाब छुपा सकता है, लेकिन मुझे समझ में नहीं आता कि यह कैसे काम करता है)।

मैं अभी भी टर्मिनल से git revert <sha> जारी करके प्रतिबद्ध वापस कर सकते हैं लेकिन यह है कि मैं क्या Intellij से Git का उपयोग करने और नहीं शुद्ध टर्मिनल से पहली जगह में बचने की कोशिश कर रहा था।

क्या इंटेलिज में आसानी से वापसी करने का कोई तरीका है?

+2

मैंने कई दिनों पहले इस सुविधा को खोजने का भी प्रयास किया था। मुझे लगता है कि यह अभी गायब है। इसके बजाय बाहरी गिट जीयूआई का प्रयोग करें। – user11153

+0

@dimzak Changelist abstraction के बारे में। आप इसके बारे में गिट पर स्टैश के गुच्छा की तरह सोच सकते हैं। यदि आपको यह पसंद नहीं है, तो बस इसे "डिफ़ॉल्ट" का उपयोग करें और आपको कोई समस्या नहीं होगी। –

उत्तर

47

यदि आप चेंजलिस्ट -> लॉग पर जाते हैं, और वहां प्रतिबद्धता का चयन करें, तो आपको दाएं पैनल में एक बदलाव का विवरण मिला है। वहां आप सभी का चयन कर सकते हैं और एक बटन पर क्लिक कर सकते हैं (या राइट क्लिक -> चयनित परिवर्तनों को वापस लाएं)।

+0

यह @dimzak की तलाश में है। मैंने बस कोशिश की, गिट इतिहास लॉग में जाकर दाहिने पैनल में शीर्ष पेड़ तत्व का चयन किया और "रिवर्ट" कमांड वास्तव में हमारे लिए रिवर्ट प्रतिबद्ध बनाने के लिए जा रहा है (बिल्कुल अनिवार्य)। – Ikon

+4

स्पष्टीकरण के लिए, यह सुविधा वास्तव में एक रिवर्स पैच बनाता है और लागू करती है। चयनित परिवर्तनों को वापस करने के बाद, आप * 9: संस्करण नियंत्रण * -> * स्थानीय परिवर्तन * के माध्यम से प्रतिबद्ध होने से पहले परिवर्तन देख सकते हैं। – kevinarpe

+0

इसके लिए बहुत उपयोगी, thx !! –

12

मुझे केवल एक ही तरीके से पता है और यह कमांड लाइन करने के जितना अच्छा नहीं है।

पहले एक रिवर्स पैच बनाएं। लॉग में जाएं, कोई भी प्रतिबद्ध चुनें और create patch का चयन करें, reverse patch देखें और इसे कहीं भी सहेजें।

फिर वीसीएस मेनू में जाएं और apply patch चुनें और जिस फ़ाइल को आपने अभी सहेजा है उसे चुनें।

उन परिवर्तनों को प्रतिबद्ध करें।

फिर भी, मैं इसे कमांड लाइन करने के साथ जाऊंगा। एक उचित स्वचालित प्रतिबद्ध संदेश भी देता है।

+1

वैसे यह ठीक काम करता है, लेकिन मुझे एक वापसी के लिए 5 मिनट की तरह लग रहा था: डी – dimzak

+0

क्षमा करें, लेकिन यह एक साधारण वापसी के लिए बहुत जटिल है। –

+0

मैं मानता हूं कि यह जटिल है, मैं कभी भी इंटेलिज के अंदर नहीं बल्कि कमांड लाइन के अंदर ऐसा करूंगा। हालांकि यह सवाल का जवाब देता है और इसमें शामिल है कि यह कमांड लाइन करने से शायद बदतर है। –

2
  1. करें आप इतिहास-लॉग इन करें में वापस लौटने के लिए की तरह करते हैं।
  2. संदर्भ मेनू से चयन पैच बनाएं ...
  3. करें रिवर्स पैच चेकबॉक्स
  4. लागू बनाया पैच
1

मैं आइडिया में वह विकल्प तलाश रहे हैं 2016.2 और ऐसा लगता है कि यह अब नहीं है ("चयनित परिवर्तनों को वापस लाएं")। इसके बजाए मैं "माइग्रेट" विकल्प के साथ "यहां मौजूदा शाखा रीसेट करें" करने में सक्षम था, जो नवीनतम सही प्रतिबद्धता को इंगित करता है। तब मैं फिर से प्रतिबद्धता करने में सक्षम था।

संबंधित मुद्दे