git - एक पुल अनुरोध से कैसे हटाएं




github pull-request (3)

आपके पास इसे करने के लिए कई तकनीकें हैं।

यह पोस्ट - रिवर्ट के बारे में हिस्सा पढ़ें, विवरण में बताएगा कि हम क्या करना चाहते हैं और इसे कैसे करना है।

यहाँ आपकी समस्या का सबसे सरल समाधान है:

# Checkout the desired branch
git checkout <branch>

# Undo the desired commit
git revert <commit>

# Update the remote with the undo of the code
git push origin <branch>

रिवर्ट कमांड मूल प्रतिबद्ध के पूर्ववत के साथ एक नई प्रतिबद्ध बनाएगी।

मैंने एक पुल अनुरोध किया था, लेकिन उसके बाद मैंने स्थानीय रूप से इस परियोजना के लिए कुछ काम किए जो मेरे पुल अनुरोध को प्रदूषित कर रहे थे, मैंने इसे हटाने की कोशिश की लेकिन बिना किसी भाग्य के।

मुझे StackOverflow पर कुछ ऐसे ही सवाल मिले, लेकिन मैं इसमें लागू नहीं कर सकता। यह GitHub पर मेरा पहला पुल अनुरोध है इसलिए यह मेरे लिए बहुत ही अजीब है कि यह सब कैसे काम करता है।

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

मेरी गिट लॉग

क्या कोई कृपया बता सकता है कि क्या चल रहा है और इस समस्या को कैसे ठीक किया जाए?


तो निम्न कार्य करें,

कहते हैं कि आपकी शाखा का नाम my_branch है और इसके पास अतिरिक्त आवागमन है।

  1. git checkout -b my_branch_with_extra_commits (इस शाखा को एक अलग नाम पर सहेज कर रखा गया)
  2. gitk (git कंसोल खोलता है)
  3. आप जिस कमिटमेंट को रखना चाहते हैं, उसे देखें। उस नोटा के SHA को एक नोटपैड पर कॉपी करें।
  4. git checkout my_branch
  5. gitk (यह git कंसोल खोलेगा)
  6. आप जिस पर वापस जाना चाहते हैं उस पर राइट क्लिक करें (अपने परिवर्तनों से पहले राज्य) और " reset branch to here पर reset branch to here " पर क्लिक करें
  7. एक git pull --rebase origin branch_name_to _merge_to
  8. git cherry-pick <SHA you copied in step 3. >

अब स्थानीय शाखा प्रतिबद्ध इतिहास को देखें और सुनिश्चित करें कि सब कुछ अच्छा लग रहा है।


लोग गलत कमिटमेंट को नहीं देखना चाहेंगे और गलत कमिट के बदलावों को कमिट करने के लिए कमिट करेंगे। यह प्रदूषित इतिहास कायम करता है।

यहाँ एक पूर्ववत बदलाव के साथ परिवर्तन पूर्ववत करने के बजाय गलत प्रतिबद्ध को हटाने का एक सरल तरीका है।

  1. git checkout my-pull-request-branch

  2. git rebase -i HEAD~n // जहां n अंतिम कमिट्स की संख्या है जो आप इंटरएक्टिव रिबेस में शामिल करना चाहते हैं।

  3. छोड़ना चाहते हैं के लिए drop के साथ pick बदलें।
  4. सुरषित और बहार।
  5. git push --force





pull-request