2016-03-23 13 views
31

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

मुझे स्टैक ओवरफ्लो पर कुछ समान प्रश्न मिले लेकिन मैं वहां क्या लागू नहीं कर सकता। यह गिटहब पर मेरा पहला पुल अनुरोध है, इसलिए यह मेरे लिए अजीब बात है कि यह सब कैसे काम करता है।

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

enter image description here

मेरी Git लॉग enter image description here

कोई समझाने कि क्या हो रहा है और कैसे इस समस्या को ठीक करने के लिए है कृपया कर सकते हैं।

+1

आपको [rebase] (https://git-scm.com/book/en/v2/Git-branching-Rebasing) की आवश्यकता है, और केवल "github से जोड़ा गया" उठाएं (यानी टिप्पणी करें प्रत्येक अन्य प्रतिबद्धता के लिए लाइनें) –

+0

किस शाखा पर आप किस शाखा पर कृपया शाखा को पुन: जोड़ सकते हैं कृपया अधिक स्पष्टीकरण जोड़ें। – humazed

+0

'शाखा' = जिस शाखा पर आप काम कर रहे हैं, 'किस शाखा पर = जिस शाखा को आप खींच रहे हैं –

उत्तर

31

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

This post - read the part about the revert विवरण में समझाएगा कि हम क्या करना चाहते हैं और इसे कैसे करें।

# 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> 

वापस लाएं कमांड के साथ पूर्ववत मूल प्रतिबद्ध की एक नया प्रतिबद्ध पैदा करेगा:

यहाँ आपकी समस्या का सबसे सरल उपाय है।

+2

Awsome आदमी में अनुरोध कर रहा है !! वास्तव में मेरी मदद की :) –

+0

क्या यह तब भी काम करता है जब हमने किसी अन्य व्यक्ति से परियोजना को फोर्क किया और पुल अनुरोध में कुछ टिप्पणियां निकालना चाहते हैं? –

1

तो, निम्नलिखित करना

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

  1. Git चेकआउट बी my_branch_with_extra_commits
  2. gitk (Git सांत्वना खुलता है) के लिए
  3. देखो (इस शाखा एक अलग नाम से बचाया रखते हुए)। उस प्रतिबद्धता के SHA को नोटपैड पर कॉपी करें।
  4. Git चेकआउट my_branch
  5. gitk (यह Git सांत्वना खुलेगी)
  6. सही प्रतिबद्ध आप (अपने परिवर्तन से पहले राज्य) पर वापस लौटने और "यहां शाखा रीसेट" पर क्लिक करें
  7. Do पर क्लिक करें एक Git _merge_to
  8. --rebase मूल branch_name_to खींच Git चेरी लेने

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

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