2016-06-02 11 views
11

में विलय नहीं कर सकता जब भी मैंने गेरिट की समीक्षा भेजी और यदि समीक्षा कुछ समय के लिए लंबित है, तो मुझे गेरिट में cannot merge संदेश मिल रहा है।गेरिट

मुझे यह आ रहा है क्योंकि किसी और ने उसी फ़ाइल/फाइलों को बदल दिया होगा और मेरे सामने पहुंचा होगा। मैं अपनी समस्या को हल करने के लिए कामकाज के नीचे कोशिश कर रहा हूं।

  1. वर्तमान समीक्षा को छोड़ दें।
  2. एक नया स्थानीय शाखा बनाएँ, एक पुल
  3. चेरी चुन सकते हैं जहाँ मेरे पुराने शाखा से प्रतिबद्ध लेने के लिए और Gerrit को

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

मैं वर्तमान समीक्षा से cannot merge को हटाने का एक तरीका ढूंढ रहा हूं। धन्यवाद!

उत्तर

20

आपको "विलय नहीं कर सकता" समस्या को हल करने के लिए गेरिट पर वर्तमान परिवर्तन को त्यागने की आवश्यकता नहीं है। तुम सब करने की ज़रूरत है:

  1. अद्यतन अपने स्थानीय भंडार (Git लाने)
  2. भागो एक मैनुअल रिबेस (Git रिबेस)
  3. विरोधों का समाधान करें (Git mergetool)
  4. कमिट (संशोधन) परिणाम Gerrit (Git धक्का) से (Git --amend प्रतिबद्ध)
  5. पुश एक नई पेचसेट
+0

यह काम करता है, धन्यवाद :) –

+0

वाह, अगर आप विलय चरण में हैं, तो आप कैसे संशोधन कर सकते हैं? – Koshinae

+1

परिवर्तन को जमा करने से पहले आपको जितनी बार आवश्यकता हो उतनी बार अपनी प्रतिबद्धता में संशोधन कर सकते हैं। अधिक जानकारी यहां देखें: https://gerrit-review.googlesource.com/Documentation/intro-quick.html –

2

गिट/गेरिट का उपयोग करके साझा कोड बेस पर काम करते समय सबसे अच्छा अभ्यास परिवर्तन को न्यूनतम पर रखें। एक ओर, इस तरह, मौका है कि कोई व्यक्ति कम होने से पहले अपने परिवर्तनों को विलीन कर देता है। दूसरी तरफ, आप जितनी जल्दी हो सके को पुन: प्राप्त कर सकते हैं ताकि परिवर्तनों की अधिक आसानी से समीक्षा की जा सके।

मुझे यकीन नहीं है कि यह आपके प्रश्न का उत्तर दे, लेकिन मैं इन दो नियमों का पालन करता हूं और कोई समस्या नहीं है।

+0

मैं न्यूनतम में परिवर्तन कैसे रख सकता हूं? –

+2

मेरे लिए न्यूनतम परिवर्तनों को बदलने के लिए संदर्भित किया जाता है कि नए कोड के साथ रिफैक्टरिंग कोड मिश्रण नहीं किया जा रहा है, और स्प्लिट स्कीप, कार्यान्वयन प्रतिबद्धता, परीक्षण प्रतिबद्धता (ज्यादातर परीक्षण कवरेज वृद्धि के लिए), निर्भरता अपग्रेड प्रतिबद्धता आदि। एक और बात यह है कि मैं जितना संभव हो सके प्रतिबद्धता को रखने की कोशिश करता हूं (केवल कार्यक्षमता और परीक्षण) – Timotei

4

rebase बटन का प्रयास करें, जो हल कर सकते हैं सबसे नहीं मर्ज है सकते हैं मुकदमा। यदि यह स्वयं पर पुनर्जीवित करने के लिए उचित प्रतिबद्धता पा सकता है, तो ठीक है। यदि ऐसा नहीं हो सकता है, तो लक्ष्य शाखा की अंतिम प्रतिबद्धता पाएं और प्रतिबद्धता को खाली करें। कभी-कभी आपको पहले प्रतिबद्धता जमा करनी चाहिए, जिस पर कोई विलय नहीं कर सकता है निर्भरता है। यदि यह किसी भी तरह से काम नहीं कर सकता है, तो बस इसे छोड़ दें और नवीनतम प्रतिबद्धता के आधार पर प्रतिबद्ध बनाएं।

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