दिलचस्प पोस्ट
पायथन में सुंदर मुद्रण XML विदेशी आर्किटेक्चर मानकों समितियों के बारे में परवाह है इनपुट प्रकार = पासवर्ड, ब्राउज़र को पासवर्ड याद न रखें समूह द्वारा एक वेरिएबल के न्यूनतम मूल्य के अनुरूप पंक्ति निकालें C ++ में एक अप्रकाशित चर प्रिंट क्यों करता है? पंक्ति में पंक्ति के बजाय एक बार में डेटाबेस में संपूर्ण डेटाटाले सम्मिलित करें? psql: FATAL: डेटाबेस "<user>" मौजूद नहीं है मैं PHP में एक वेब पेज का HTML कोड कैसे प्राप्त करूं? मैं एंड्रॉइड पर ओरिएंटेशन परिवर्तन कैसे अक्षम करूं? पेज से दूर नेविगेट किए बिना एक डाउनलोड विंडो खोलने का सबसे आसान तरीका आईओएस सेटिंग्स बंडल में लाइसेंस अनुभाग जोड़ने का सर्वोत्तम तरीका सी और सी ++ में अंकगणित संचालन से पहले एक इंट को क्यों बदलना चाहिए? कोणीय जेएस चयन विकल्प से खाली विकल्प निकालें बिल्ली का बेकार उपयोग? फ्लेक्स आइटम पिछले सामग्री आकार को छोटा क्यों नहीं करता?

गिट में एक खास प्रतिबद्धता को वापस लाएं, जो कि दूरस्थ रीपो पर धकेल दिया गया है

एक विशिष्ट प्रतिबद्धता को वापस करने का सबसे आसान तरीका क्या है:

  • सिर या सिर में नहीं
  • दूरदराज के लिए धक्का दिया गया है।

क्योंकि अगर यह नवीनतम प्रतिबद्ध नहीं है,

git reset HEAD 

काम नहीं करता है और क्योंकि यह एक दूरस्थ के लिए धक्का दिया गया है,

 git rebase -i 

तथा

 git rebase --onto 

रिमोट्स में कुछ समस्या पैदा होगी

और भी, मैं इतिहास को वास्तव में संशोधित नहीं करना चाहता हूं अगर बुरा कोड था, तो वह इतिहास में था और देखा जा सकता है। मैं इसे काम की प्रतिलिपि में चाहता हूं, और मुझे कोई रिवर्स मर्ज कमिट नहीं है।

दूसरे शब्दों में, निम्नलिखित svn कमांड के Git समतुल्य क्या है:

 svn merge -r 303:295 http://svn.example.com/repos/calc/trunk 

जो 295 से 302 के सभी परिवर्तनों को उन संशोधनों में सभी परिवर्तनों को विलय करके हटा देता है, जैसा कि एक नई प्रतिबद्धता है।

 svn merge -c -302 ^/trunk 

जो 302 प्रतिबद्धता को रद्द कर देता है, निश्चित रूप से एक अन्य प्रतिबद्धता जोड़कर जो रिवर्स उस संबंधित प्रतिबद्धता से हुए बदलावों को विलीन कर देता है।

मैंने सोचा कि यह गिट में एक काफी आसान ऑपरेशन और एक काफी आम उपयोग के मामले होना चाहिए। परमाणु का क्या मतलब है?

हम घूमने के लिए तैयारी कर रहे हैं और यह सुनिश्चित करने के लिए कि सभी प्रतिबद्धता बिल्कुल परमाणु हैं, क्या आप उन परमाणुओं के एक या अधिक आसानी से पूर्ववत नहीं कर पाएंगे?

वेब के समाधान से एकत्रित समाधान "गिट में एक खास प्रतिबद्धता को वापस लाएं, जो कि दूरस्थ रीपो पर धकेल दिया गया है"

प्रतिबद्ध के हैश की पहचान करें, git log का उपयोग करके, फिर git revert <commit> एक नया प्रतिबद्ध बनाने के लिए जो इन परिवर्तनों को निकालता है एक तरह से, git revert लौटकर git cherry-pick के कन्वर्ट होता है – बाद वाले पैच को उस शाखा पर लागू होता है जो इसे लापता है, पूर्व उसे उस शाखा से निकालता है जिसमें यह है

मुझे ऑटो-कमिट पसंद नहीं है जो कि git revert करता है, इसलिए यह कुछ के लिए सहायक हो सकता है

यदि आप चाहते हैं कि संशोधित फ़ाइलों को ऑटो-कमिट न करें , तो आप --no-commit उपयोग कर सकते हैं

 % git revert --no-commit <commit hash> 

जो -n के समान है

 % git revert -n <commit hash> 

क्योंकि यह पहले से ही धक्का दिया गया है, आपको सीधे इतिहास में हेरफेर नहीं करना चाहिए git revert एक प्रतिबद्ध से विशिष्ट परिवर्तनों को एक नई प्रतिबद्धता का उपयोग कर वापस git revert देगा, ताकि इतिहास को नियंत्रित नहीं किया जा सके