2012-07-29 13 views
13

के लिए गिथब वर्कफ़्लो मुझे अपने गिट वर्कफ़्लो पर कुछ प्रतिक्रिया चाहिए क्योंकि यह मेरा पहला उपयोग है और विभिन्न लेखों और स्टैक ओवरफ़्लो प्रश्नों को पढ़ने के बावजूद, मुझे यकीन नहीं है कि मेरी प्रक्रिया सही है। यह मेरा वर्तमान वर्कफ़्लो है (ध्यान दें कि मैं अपने सभी गिट इंटरैक्शन के लिए विंडोज एप्लिकेशन के लिए गिथब का उपयोग कर रहा हूं):सिंगल डेवलपर

  1. तय करें कि अगली सुविधा क्या है जिसे मैं कार्यान्वित करने जा रहा हूं।
  2. सुविधा के लिए एक उपयुक्त वर्णनात्मक नाम वाली शाखा बनाएं। मैं विंडोज के लिए गिथब में शाखा बटन पर क्लिक करके और एक नया नाम टाइप करके ऐसा करता हूं।
  3. कुछ कोड लिखें।
  4. मेरी नई शाखा में उन परिवर्तनों को प्रतिबद्ध करें।
  5. कुछ और कोड लिखें।
  6. मेरी नई शाखा में उन परिवर्तनों को प्रतिबद्ध करें।
  7. मैंने सुविधा को कार्यान्वित करना समाप्त कर दिया है, इसलिए मैं अपने परिवर्तनों को वापस मास्टर शाखा में विलय करना चाहता हूं। तो मैं शाखा शीर्षक के नीचे 'प्रबंधन' बटन पर क्लिक करता हूं।
  8. नई शाखा को मास्टर शाखा में मर्ज करें।
  9. नई शाखा हटाएं।

मैं चरण 7 तक प्रक्रिया से काफी खुश हूं, जिस बिंदु पर मैं थोड़ा उलझन में हूं। मुझे लगता है कि मेरा भ्रम इस तथ्य में निहित है कि मैं कमांड लाइन का उपयोग करने के बजाय विंडोज एप्लिकेशन के लिए गिथब का उपयोग करने की कोशिश कर रहा हूं। एप्लिकेशन चीजों को आसान बनाने लगता है लेकिन मेरे द्वारा उल्लेखित कुछ आदेश/निर्देशों और एप्लिकेशन में किए गए कार्यों के बीच मेरी समझ में डिस्कनेक्ट का थोड़ा सा हिस्सा है।

मुझे कुछ विशिष्ट प्रश्न पूछते हैं:

  1. मेरे कार्यप्रवाह वास्तव में सही है? यदि नहीं, तो इसमें क्या गलत है और मैं इसे कैसे सुधार सकता हूं?
  2. क्या मुझे नई शाखा में अपने परिवर्तन "प्रकाशित" करना चाहिए? मेरी समझ यह है कि यह कमांड लाइन पर git push करने के बराबर है। क्या यह सच है? यदि ऐसा है तो मुझे लगता है कि मैं केवल ऐसा करना चाहता हूं जब मैं या तो सुविधा को कार्यान्वित कर रहा हूं या यह एक सभ्य राज्य में है?
  3. क्या मुझे शाखा को हटाया जाना चाहिए जब मैंने इसे मास्टर शाखा में विलय कर दिया हो या इसे हमेशा के लिए छोड़ा जाना चाहिए?
  4. क्या मुझे मर्ज पूरा करने के बाद मास्टर शाखा प्रकाशित करने की आवश्यकता है या यह अंतर्निहित है? विलय करने के लिए

    'गुरु' में 'परीक्षण' मर्ज करने में विफल

    असमर्थ:

  5. मैं कभी कभी मर्ज और यह त्रुटि संदेश प्राप्त करने में असमर्थ हूँ। आपको एक खोल खोलने और इस रेपो की स्थिति डीबग करने की आवश्यकता हो सकती है।

जब ऐसा पहले हुआ, मैं हालांकि मास्टर शाखा में मास्टर शाखा को बदल सकते हैं और नई शाखा मर्ज करने के लिए है कि अब और नहीं काम करता है में सक्षम था। कोई फर्क नहीं पड़ता कि मैं कौन सी शाखा में हूं, मैं दो शाखाओं को विलय नहीं कर सकता। दोनों सिंक में हैं और मैंने अपनी टेस्ट शाखा से सभी बदलाव प्रकाशित किए हैं। मैं शाखाओं में विलय क्यों नहीं कर सकता हूं, यह जानने के लिए कि मुझे खोल में क्या टाइप करना चाहिए?

संदर्भ के लिए, इन मुख्य लिंक मेरी प्रक्रिया के लिये कहा गया है कि कर रहे हैं:

  1. Scott Chacon on the workflow at Gitub
  2. Git workflow for a single developer on a local repository
  3. Git workflow for a single user

उत्तर

4

आप एक आम शाखाओं में कार्यप्रवाह की तरह लगता है क्या वर्णन कर रहे हैं कि एक ही कोड बेस पर एकाधिक डेवलपर्स के लिए भी बहुत अच्छी तरह से काम करता है। यह git flow द्वारा पूरी तरह से कवर किया गया है जो कुछ चरणों को स्वचालित करने के लिए गिट कमांड लाइन का विस्तार है। यह जांचने लायक है।

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

शाखाओं को अपने अपस्ट्रीम में विलय करने के बाद चारों ओर रखने के लिए कोई मजबूत कारण नहीं है। लेकिन एक यह ट्रैक करना है कि एक निश्चित सुविधा में क्या चल रहा है। यदि आप उन्हें रखने का फैसला करते हैं तो मैं शाखाओं को प्रकाशित करने का सुझाव दूंगा। आप स्थानीय मशीन पर आसपास के कोड पर निर्भर नहीं हैं। शाखाओं को रखने के लिए आपके भंडार को रास्ते से बहुत बड़ा नहीं बनाते हैं बल्कि दृष्टि को प्रदूषित करते हैं। ज्यादातर समय आपकी अपस्ट्रीम शाखा में काम करता है।

आप में विलय करने के बाद प्रकाशित करने के लिए (धक्का) होगा अपने गुरु शाखा।

Git कमांड लाइन टूल मैं GitHub लोगों से Introduction to Git and GitHub के साथ शुरू करने का सुझाव से परिचित कराने के लिए और अधिक जानकारी के लिए अपने लिंक संदर्भ का पालन करें ।

आशा है कि

+0

धन्यवाद - यह जानना अच्छा है कि मैं सही रास्ते पर हूं! मैं अभी भी शाखाओं से थोड़ा उलझन में हूं और मुझे लगता है कि वह जगह है जहां मेरा विलय सिरदर्द आता है। जब मैं विंडोज के लिए गिथब में एक नई शाखा बनाता हूं, तो क्या मुझे उम्मीद करनी चाहिए कि यह कहीं नई निर्देशिका तैयार करेगी? क्योंकि अगर ऐसा नहीं होता है तो क्या मैं सिर्फ अपनी मास्टर शाखा में कोड संपादित नहीं कर रहा हूं? – Stu

+0

गिट .git फ़ोल्डर में deltas के गुच्छा में सबकुछ स्टोर करता है। तो जब आप एक नई शाखा बनाते हैं, तो ऐसा लगता है कि आप अपने मास्टर/क्लोन शाखा की एक प्रति पर काम कर रहे हैं। लेकिन यह सब एक ही फ़ोल्डर में है (कुछ बदलाव करें और शाखाएं फ्लिप करें और अपनी फ़ाइल को फिर से खोलें)। आपने जिस शाखा को चेक आउट किया है, उस पर ध्यान रखें, क्योंकि सामानों का एक गुच्छा लिखना आसान हो सकता है, भूल जाते हैं कि आपने शाखाएं नहीं स्विच की हैं और आप अपनी फीचर शाखा के बजाय मास्टर करने के लिए तैयार हैं। यही वह जगह है जहां बहुत आसानी से स्टैश आते हैं। – yellottyellott

+0

माफी माँगने के लिए जल्द ही मेरे प्रश्न के उत्तर के रूप में स्वीकार नहीं करने के लिए, कुछ ऐसा लगता है कि मैंने आपकी आखिरी टिप्पणी को याद किया है जिसने मेरे सभी सवालों का जवाब दिया है। बहुत बहुत धन्यवाद! – Stu

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