2015-01-10 12 views
5

मैं थोड़ी देर के साथ गिट फ्लो के साथ काम कर रहा हूं और अब यह पहली रिलीज v1.0.0 को समाप्त करने का समय है। मैं इसके लिए विंडोज़ पर सोर्सट्री का उपयोग कर रहा हूं।गिट फ्लो रिलीज खत्म - अनुमति अस्वीकार

जब मैं रिहाई यह मैं यह त्रुटि आई खत्म करना चाहता था:

sh.exe C:\Users\xy\AppData\Local\Atlassian\SourceTree\gitflow_local\gitflow\git-flow release finish -f C:\Users\xy\AppData\Local\Temp\2ffrpxef.20z v1.0.0 
Switched to branch 'master' 

error: unable to create file component/admin/config.xml (Permission denied) 

There were merge conflicts. 

Completed with errors, see above. 

मुझे पता नहीं क्यों इस त्रुटि के रूप में वहाँ किसी भी फाइल अनुमति मुद्दों के रूप में है कि जब में काम पहले कभी नहीं हुआ नहीं होना चाहिए उत्पन्न कर रहा है सुविधा शाखा।

उपर्युक्त विफल होने के बाद, मूल रूप से मेरे कामकाजी प्रतिलिपि में मास्टर के संबंध में मेरे सभी परिवर्तन विकसित होने के बाद। मैंने बस उन सभी परिवर्तनों को धराशायी कर दिया है और नई फाइलें हटा दी हैं और इसी तरह। कोई संघर्ष नहीं है। तो मैं अपनी रिहाई खत्म करने के लिए फिर से तैयार हूँ।

वर्तमान में विकसित करने और रिलीज एक ही मंच पर हैं और निश्चित रूप से का एक बहुत मास्टर से आगे करता है: My current repository

मैं कैसे इस मुद्दे में चलने के बिना मेरी रिहाई समाप्त कर सकते हैं?

क्या मास्टर पर वर्तमान विकास/रिलीज चरण को मजबूर करने का कोई तरीका है? असल में सभी विकास कार्य मास्टर शाखा पर लागू किए जाने चाहिए - इसलिए जब वे प्रकट होते हैं तो सभी विवाद विलय करते हैं, मैं विकास शाखा संस्करण के साथ हल करना चाहता हूं। क्या यह संभव है?

उत्तर

1

मैं किसी को है कि मुझे इस मुद्दे के साथ मदद कर सकता है मिल गया है और वह विचार था यह फाइल को लॉक करने वाली किसी अन्य प्रक्रिया से संबंधित है।

यह सत्यापित करने के लिए मैंने कहीं और मेरे भंडार की प्रतिलिपि बनाई, इसे SourceTree के साथ खोला और मैं बिना किसी समस्या के रिलीज खत्म करने में सक्षम था।

इसलिए मुझे लगता है कि यह किसी चीज़ से लॉक होने वाली फ़ाइल से संबंधित है।

हालांकि मुझे अपना आईडीई (PHPStorm) पर संदेह था, लेकिन मैं इसे बंद नहीं कर सका क्योंकि मैंने इसे बंद कर दिया था और फिर भी फ़ाइल अनुमति समस्या थी। शायद यह ड्रॉपबॉक्स है (संपूर्ण भंडार वहां है), जो जानता है। लेकिन अब मैं कम से कम एक काम जानता हूँ।

+0

दिलचस्प विश्लेषण। +1 – VonC

+0

ओपी द्वारा प्रेरित, मैं अपने विंडोज़ को पुनरारंभ करता हूं और यह काम करता है। कुछ हद तक अजीब – gzc

0

issue 107 में सचित्र के रूप में, कि त्रुटि संदेश का अर्थ मर्ज संघर्ष की वजह से पूरा नहीं कर सकते 'git-flow-release#L225-L240 देखें):

if ! git_is_branch_merged_into "$BRANCH" "$MASTER_BRANCH"; then 
    git checkout "$MASTER_BRANCH" || \ 
     die "Could not check out $MASTER_BRANCH." 
    git merge --no-ff "$BRANCH" || \ 
     die "There were merge conflicts." 

इसका मतलब है कि आप resolve the merge conflicts की जरूरत है, और complete the merge first

  • रिबेस मतलब है कि आप master के शीर्ष पर develop शाखा को पुन: चलाने, develop शाखा में किसी भी संघर्ष को हल करने:

    OP hbit

    Basically all the development commits should be applied onto the master branch - so all merge conflicts when they appear I'd like to solve with the development branch version.

    यह एक develop शाखा की खासियत है master पर रिबेस कहते हैं

  • रीबेस का अर्थ है, एक बार develop शाखाके शीर्ष पर है(पुन: विश्राम), master पर विलय (git-flow release finish द्वारा किया गया) एक मामूली फास्ट-फॉरवर्ड होगा।
+0

जैसा कि आप मेरी स्क्रीन से देख सकते हैं, सभी 'फीचर/...' शाखाएं 'विकास' शाखा पर एक प्रतिबद्धता में गईं जो 'मास्टर' शाखा पर आधारित है। तो मुझे यकीन नहीं है कि मुझे रिबेस की आवश्यकता है - मैं इस तरह की उम्मीद करता हूं कि मैं उस चरण में हूं जहां 'गिट-फ्लो रिलीज फिनिश' एक फास्ट फॉरवर्ड विलय होगा। क्या आप देख सकते हैं मेरा क्या मतलब है? – hbit

0

मुझे लगता है कि यह त्रुटि न केवल तभी हो सकती है जब आपने अनुमतियां संशोधित की हों, लेकिन अगर आपने उस फ़ाइल के स्वामित्व को संशोधित किया है (जो अनुमति परिवर्तनों का कारण बन सकता है)।

मैं इस समस्या से खुद को छुटकारा नहीं पा रहा था इसलिए मैंने जो किया (और मेरे लिए काम किया) कुछ "कोठरी में कंकाल छुपाएं" जैसा था। इसका उद्देश्य बगगी फ़ाइल को एक टेस्ट शाखा में अलग करना है जिसे आप बाद में हटा सकते हैं।

sudo rm badfile.xxx - शारीरिक रूप से फ़ाइल निकालने के लिए, सुनिश्चित करें कि आप इसे बाद में जोड़ने के लिए

git add —all badfile.xxx एक प्रति है बनाना - यह निशान के रूप में मंच

git checkout -b some_local_branch_we_ll_never_use में नष्ट कर दिया -

git commit -m "Delete the bad file" करने से पहले एक नई शाखा का सृजन - नई शाखा में खराब फ़ाइल को हटाने के साथ प्रतिबद्ध, कामकाजी निर्देशिका साफ होनी चाहिए

git checkout my_good_old_branch - वापस जा रहा है आप शाखा काम करने और अपने जीवन के साथ जारी रखने ...

तब आप अपने परीक्षण शाखा हटा सकते हैं:

git branch -D some_branch_we_ll_never_use

git status

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