2012-09-13 9 views
31

कल मैंने चेरी-चुने गए दो मेरी मुख्य शाखा में काम किया, उनमें से एक ने मर्ज विवादों का कारण बना दिया और मैंने उन्हें हल किया, प्रतिबद्ध किया और उन्हें मूल रूप से धक्का दिया।एक गिट चेरी-पिक को कैसे समाप्त करें?

$ git pull 
fatal: You have not concluded your cherry-pick (CHERRY_PICK_HEAD exists). 
Please, commit your changes before you can merge. 
$ 

Git स्थिति पढ़ता है::

$ git status 
# On branch main 
# Your branch is behind 'origin/main' by 2 commits, and can be fast-forwarded. 
# 
$ 

मैं कोशिश की है कोई लाभ नहीं हुआ है:

$ git cherry-pick --continue 
usage: git cherry-pick [options] <commit-ish> 
$ 

आज मैं सर्वर जब मैं निम्नलिखित त्रुटि मिलती से खींचने के लिए प्रयास कर रहा हूँ इस पर कोई विचार है कि मैं इसे कैसे हल कर सकता हूं? अग्रिम में धन्यवाद!

+3

आप किस गिट संस्करण का उपयोग कर रहे हैं? 'गिट चेरी-पिक - कॉन्टिन्यूयू' अगस्त 2011 में पेश किया गया था (https://github.com/git/git/commit/5a5d80f4ca16fdb1f2577474ad94135839853a3e, git1.7.7 +) – VonC

+0

@ वॉनसी, आपको इसे एक उत्तर के रूप में प्रस्तुत करना चाहिए। अब यह सही है। – cjbarth

+0

@cjbarth मैंने इसे नीचे एक उत्तर के रूप में पोस्ट किया है। – VonC

उत्तर

8

निम्नलिखित के साथ हल: rm .git/CHERRY_PICK_HEAD मुझे पता है यह खतरनाक है के रूप में इस Git भीतर आंतरिक स्थिरता की गारंटी नहीं है, लेकिन मुझे अब तक के लिए कोई मुद्दा नहीं ...

+1

नीचे वोट क्यों? यह मेरे लिए ठीक काम करता है और किसी भी समस्या का कारण नहीं है। – Stunner

+2

निश्चित रूप से, यह * अधिकांश * लोगों के लिए काम करेगा, हालांकि यह कुछ सबसे खराब प्रथाओं का एक उदाहरण है और * कुछ * लोगों के लिए विनाशकारी हो सकता है। – charneykaye

+0

मेरे मामले में, मैं SourceTree का उपयोग करता हूं और गलती से चेरी चुनता हूं। यह कुछ भी नहीं किया और एक वर्ग विलय के साथ संघर्ष किया। मैंने इसे छोड़ दिया। तब मैं कुछ काम करना चाहता था। पुल असफल रहा। मैंने आपके कोड की कोशिश की लेकिन यह काम नहीं किया। ऐसा इसलिए है क्योंकि आपको कुछ डाउनवॉट मिल गए हैं। –

83

अगली बार कोशिश git cherry-pick --abort, आप अन्यथा क्या किया जाना चाहिए कम या ज्यादा काम

6

तो git cherry-pick --continue काम नहीं करता है, कि Git का मतलब है बहुत पुराना है: उस विकल्प commit 5a5d80f

It works by dropping the first instruction from .git/sequencer/todo and performing the remaining cherry-picks listed there, with options (think " -s " and " -X ") from the initial command listed in " .git/sequencer/opts ".

इन दिनों (2014) में Git 1.7.8 (दिसंबर 2011) के लिए पेश किया गया था, कि होगा जब आप "You have not concluded your cherry-pick" देखते हैं तो उपयोग करने के लिए आदेश बनें।

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