एसवीएन के साथ एक प्रतिबद्धता को उलटा करना आसान है, लेकिन गिट के साथ ऐसा कैसे करें?गिट: एक प्रतिबद्धता को रिवर्स-विलय कैसे करें?
उत्तर
करने के लिए देख रहे हैं एक नए प्रतिबद्ध है कि 'नाश कर देती है' एक अतीत की परिवर्तन हो, उपयोग बनाने के लिए:
$ git revert <commit>
यह वास्तव में करने के लिए भी संभव है अतीत में एक मनमानी बिंदु से रीबेजिंग और फिर रीसेट करके एक प्रतिबद्धता को हटा दें, लेकिन आप वास्तव में ऐसा नहीं करना चाहते हैं अगर आप पहले से ही किसी अन्य भंडार (या किसी और ने आपको खींच लिया है) पर धक्का दिया है।
आपको शायद 'git revert'' विकल्प को 'git revert'' करने की आवश्यकता होगी ताकि यह निर्दिष्ट किया जा सके कि कौन सा परिवर्तन वापस करने के लिए है। यदि आप गैर-प्रकाशित इतिहास के विलय को पूर्ववत करना चाहते हैं, तो 'गीट रीसेट - हार्ड HEAD^1' का उपयोग करें। –
Jakub: यह सच है यदि आप विलय प्रतिबद्धता को वापस कर रहे हैं, लेकिन सबवर्जन शब्दावली में, "रिवर्स-मर्ज" वास्तव में किसी भी प्रकार की प्रतिबद्धता को वापस करने का नाम है। –
ध्यान दें कि '-m' का उपयोग करने का अर्थ है कि गैर-विलय वाली शाखा से भविष्य में विलय में विलय से पहले परिवर्तन शामिल नहीं होंगे! एक अनर्जित शाखा को दोबारा विलय करने के उचित तरीकों के लिए http://schacon.github.com/git/howto/revert-a-faulty-merge.txt देखें। –
अगर मैं तुम्हें सही ढंग से समझ, आप एक
svn merge -rn:n-1
कर एक पहले से बाहर वापस करने के लिए के बारे में बात कर रहे हैं के लिए प्रतिबद्ध है, जो मामले में, आप शायद के लिए
git revert
विलय प्रतिबद्धता को वापस करने के लिए, आपको इसका उपयोग करने की आवश्यकता है: git revert -m। उदाहरण के लिए, हाल ही में सबसे अधिक संख्या 1 के साथ माता-पिता का उपयोग कर के लिए प्रतिबद्ध आप का प्रयोग करेंगे विलय वापस लौटने के लिए:
git revert -m 1 HEAD
वापस जाने के लिए किसी मर्ज के लिए प्रतिबद्ध पिछले प्रतिबद्ध से पहले, आप क्या करेंगे:
git revert -m 1 HEAD^
उपयोग माता-पिता को देखने के लिए git show <merge commit SHA1>
, संख्या वह क्रम है जो वे दिखाई देते हैं Merge: e4c54b3 4725ad2
Git मर्ज प्रलेखन: http://schacon.github.com/git/git-merge.html
Git मर्ज चर्चा (भ्रामक लेकिन बहुत विस्तृत): http://schacon.github.com/git/howto/revert-a-faulty-merge.txt
आप माता-पिता से जुड़े 'नंबर' को कैसे प्राप्त कर सकते हैं? क्या शाखाओं में आंतरिक संख्यात्मक 'आईडी' है? – daniyalzade
माता-पिता को देखने के लिए 'गिट शो <मर्ज करें SHA1>' का उपयोग करें, संख्या वह क्रम है जो वे दिखाई देते हैं उदा। 'मर्ज करें: e4c54b3 4725ad2' – supermethod
उदाहरण: 'गिट रिवर्ट -एम 1 SHA1' वह आदेश मेरे लिए एक विलय प्रतिबद्धता को वापस करने के लिए काम करता था जो कि कई विलय सिर से पहले होता था और कई लोग नीचे काम करते थे। –
git reset --hard HEAD^
उपयोग उपरोक्त आदेश परिवर्तन मर्ज वापस लौटने के लिए।
यह मर्ज प्रतिबद्धता को फेंक देता है, जो मूल पोस्टर पूछताछ नहीं करता है। ओपी पिछले परिवर्तनों को पूर्ववत करने के लिए एक रिवर्स पैच करने की कोशिश कर रहा है, पिछले परिवर्तनों के इतिहास को पूरी तरह मिटाना नहीं। –
आप प्रतिबद्ध, या बाद में करने के लिए चाहते करने के लिए नहीं करना चाहते हैं (प्रतिबद्ध संदेश अभी भी आप के लिए तैयार हो जाएगा, जो आप भी संपादित कर सकते हैं):
git revert -n <commit>
- 1. एक गिट प्रतिबद्धता पूर्ववत करें
- 2. गिट: एक सिंगल प्रतिबद्धता को दबाएं
- 3. गिट: विशिष्ट प्रतिबद्धता पुनर्प्राप्त करें
- 4. पिछली गिट प्रतिबद्धता को पुनर्स्थापित करें?
- 5. गिट: पहली प्रतिबद्धता कैसे क्लोन करें?
- 6. पुरानी गिट प्रतिबद्धता में संशोधन कैसे करें?
- 7. गिट: "शीर्ष पर" एक प्रतिबद्धता को स्थानांतरित करें
- 8. एक गिट बंडल में प्रतिबद्धता
- 9. गिट: दूसरी प्रतिबद्धता
- 10. गिट वसा प्रतिबद्धता
- 11. गिट: प्रतिबद्धता पर MySQL डेटाबेस निर्यात करें?
- 12. एक गिट मर्ज प्रतिबद्धता को वापस लेना, फिर
- 13. गिट: सबसे बड़ी प्रतिबद्धता पाएं
- 14. मैं गिट में एक प्रतिबद्धता कैसे उलटा सकता हूं?
- 15. मैं गिट में एक प्रतिबद्धता का बैकपोर्ट कैसे करूं?
- 16. मैं गिट में एक पुरानी प्रतिबद्धता कैसे कर सकता हूं?
- 17. गिट: एक ही समय में कई शाखाओं (उसी आधार प्रतिबद्धता के साथ) को कैसे पुनर्जीवित करें?
- 18. गिट पर विशिष्ट फ़ाइल पर लगातार प्रतिबद्धता को कैसे रोकें?
- 19. गिट में अनाथ प्रतिबद्धता को कैसे हटाया जाए?
- 20. एक विशिष्ट प्रतिबद्धता
- 21. मैं एक ही प्रतिबद्धता कैसे विलय करूं?
- 22. दूरस्थ गिट भंडार से एक समय में एक प्रतिबद्धता को कैसे खींचें?
- 23. एक गिट सबमोड्यूल पॉइंटर को संबंधित भंडार में संग्रहीत प्रतिबद्धता को कैसे वापस लाया जाए?
- 24. एसवीएन: प्रतिबद्धता पर एक संशोधित फ़ाइल को कैसे अनदेखा करें?
- 25. सबवर्सन: एक विशिष्ट प्रतिबद्धता को कैसे मर्ज करें
- 26. वर्तमान प्रतिबद्धता पर टैग कैसे प्राप्त करें
- 27. गिट कुछ प्रतिबद्धता पर वापस लौटें
- 28. गिट: पिछले और अगले प्रतिबद्धता पर जाएं
- 29. गिट सबमिशन init नवीनतम प्रतिबद्धता खींच नहीं
- 30. एक विलय प्रतिबद्धता
की डुप्लीकेट [प्रतिबद्ध पिछले एक Git को वापस लाएं ] (http://stackoverflow.com/questions/4114095/revert-to-a-previous-git-commit) –
मुझे नहीं लगता कि यह सवाल है। एसवीएन में एक रिवर्स-विलय भी प्रतिबद्धता से परिवर्तनों को स्थानीय परिवर्तनों में बदल देता है, ताकि आप उन्हें संपादित कर सकें और फिर से प्रतिबद्ध कर सकें। – Dormouse