SVN के साथ कमिट-मर्ज करना आसान है, लेकिन Git के साथ ऐसा कैसे करें?
SVN के साथ कमिट-मर्ज करना आसान है, लेकिन Git के साथ ऐसा कैसे करें?
जवाबों:
एक नया कमिट बनाने के लिए कि पिछले कमिट के बदलावों को 'अनडू' करें, उपयोग करें:
$ git revert <commit>
रिबासिंग और फिर से रीसेट करने से अतीत में एक मनमाना बिंदु से एक कमिट को हटाना संभव है, लेकिन आप वास्तव में ऐसा नहीं करना चाहते हैं यदि आपने पहले से ही अपने कमिट को दूसरे रिपॉजिटरी (या किसी और ने आपसे खींच लिया हो) को धक्का दे दिया है ।
-m <parent number>करने के git revertलिए विकल्प की आपूर्ति करने की आवश्यकता होगी कि कौन से परिवर्तन को वापस करना है। यदि आप गैर-प्रकाशित इतिहास का विलय पूर्ववत करना चाहते हैं, तो उपयोग करें git reset --hard HEAD^1।
-mमतलब है कि संयुक्त विलय वाली शाखा से भविष्य के मर्ज का उस विलय से पहले के परिवर्तनों को शामिल नहीं किया जाएगा! एक मर्ज किए गए शाखा को फिर से मर्ज करने के उचित तरीकों के लिए schacon.github.com/git/howto/revert-a-faulty-merge.txt देखें ।
एक मर्ज कमिट वापस करने के लिए, आपको उपयोग करने की आवश्यकता है git revert -m <parent number>:। इसलिए, उदाहरण के लिए, नंबर 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
git show <merge commit SHA1>माता-पिता को देखने के लिए उपयोग करें , नंबरिंग वह क्रम है जो वे दिखाई देते हैं जैसेMerge: e4c54b3 4725ad2
git revert -m 1 SHA1उस कमांड ने मेरे लिए एक मर्ज कमेटी को वापस लाने के लिए काम किया था जो कि हेड से पहले कई मर्ज वाले कमिट थे और कई कमिट्स थे।
git reset --hard HEAD^
मर्ज परिवर्तनों को वापस करने के लिए उपरोक्त आदेश का उपयोग करें।
यदि आप कमिट नहीं करना चाहते हैं, या बाद में कमिट करना चाहते हैं (कमिट मैसेज तब भी आपके लिए तैयार रहेगा, जिसे आप संपादित भी कर सकते हैं):
git revert -n <commit>