मैं सामान्य रूप से GitHub और VCS में नया हूं। मैं वर्षों से विभिन्न भाषाओं में प्रोग्रामिंग कर रहा हूं, लेकिन मैंने हमेशा कस्टम प्रोजेक्ट्स (कोई सार्वजनिक रिलीज) पर एकल काम नहीं किया है। मैंने हाल ही में एक jQuery UI विजेट का उपयोग करना शुरू कर दिया है जिसे मैंने GitHub से एक परियोजना में डाउनलोड किया है जिस पर मैं काम कर रहा हूं। रेपो अब मूल लेखक द्वारा बनाए नहीं रखा गया है। एक अन्य कांटा ने कुछ मूल पुल अनुरोधों को शामिल किया है। यह वह है जिससे मैंने कांटा लगाया।
मुझे एक-दो बग मिले और उनके लिए सुधार आया। मैं इन सुधारों में योगदान देना चाहता हूं, लेकिन मेरे पास अपने उपयोग के लिए मेरे द्वारा किए गए अन्य बहुत सारे बदलाव भी हैं, जो मौजूदा सुविधाओं में से कुछ को तोड़ देंगे। इसके अलावा, मैं एक विचार को दूसरे कांटे से शामिल करना चाहूंगा।
मैं अभी भी जीआईटी और गिटहब सीख रहा हूं और मैं हर चीज के बारे में जानने का सबसे अच्छा तरीका जानने की कोशिश कर रहा हूं। मैंने विभिन्न अवधारणाओं / कार्यों के बारे में (यहाँ, SO, GitHub हेल्प पेज, प्रो Git) पढ़ने की बहुत कोशिश की है: वर्कफ़्लोज़, मर्जिंग, पुल अनुरोध, चेरी पिकिंग, रिबासिंग, ब्रांचिंग। मेरा ग्रे मामला तैर रहा है और मुझे ऐसा करने की ज़रूरत है ताकि मैं समझ सकूँ कि मैंने क्या पढ़ा है।
मुख्य मुद्दे:
मुझे लगता है कि मैंने (कहीं) पढ़ा है कि आप एक बार में एक शाखा पर केवल एक पुल अनुरोध कर सकते हैं। तो क्या इसका मतलब है कि मेरे पास प्रत्येक बग के लिए एक अलग शाखा होनी चाहिए और फिर प्रत्येक के लिए एक अलग पुल अनुरोध करना चाहिए?
मैं व्हॉट्सएप के मुद्दों को साफ करना चाहता हूं और मुझे यह पढ़ते हुए याद आता है कि एक अलग कमिट में ऐसा करना सबसे अच्छा है। क्या मुझे अपने गुरु या एक अलग शाखा में ऐसा करना चाहिए? मैं कुछ बहुत तुच्छ के लिए एक पुल अनुरोध नहीं करना चाहता , लेकिन अगर मैं शाखाओं में बंटने से पहले व्हाट्सएप परिवर्तन करता हूं, तो क्या यह बग फिक्स के लिए पुल अनुरोध को प्रभावित करेगा? कुछ कांटों ने व्हॉट्सएप को साफ किया और इसने प्रभावी रूप से काफी बेकार बना दिया।
मैं बग के दस्तावेजीकरण के एक तरीके के रूप में अपने कांटे के खिलाफ मुद्दे बनाने के बारे में सोच रहा था, हालांकि मेरे पास पहले से ही उनके लिए फिक्स है। क्या यह एक बेहतर तरकीब है? मैं इस मुद्दे, कमिट और मास्टर को मर्ज करने के बारे में एक साथ कैसे जुड़ सकता हूं? यदि मैं एक पुल अपस्ट्रीम अनुरोध करता हूं, तो क्या मेरा मुद्दा भी ऊपर की तरफ दिखाई देगा या क्या दस्तावेज़ीकरण लिंक खो जाएगा? मैं अपस्ट्रीम रेपो के खिलाफ एक मुद्दा नहीं खोल सकता (कोई समस्या नहीं है टैब)।
दूसरे कांटे लेखक को अपने विचार के लिए श्रेय देने का सबसे अच्छा तरीका क्या है जिसका मैं उपयोग करना चाहता हूं? मैं उनके कोड का बिल्कुल उपयोग नहीं कर सकता, खासकर जब से उनके बदलाव को अपस्ट्रीम के पुराने संस्करण के खिलाफ लागू किया गया है और मेरे अन्य परिवर्तनों के साथ संगत नहीं है। लेकिन मैं विचार का उपयोग करना चाहता हूं और मैं क्रेडिट देना चाहता हूं जहां क्रेडिट देय है। क्या मुझे अपने प्रतिबद्ध संदेश में सिर्फ उनके रेपो (या प्रोफ़ाइल या विशिष्ट प्रतिबद्ध) से लिंक करना चाहिए?
मुख्य फ़ाइल के शीर्ष पर रीडमी फ़ाइल और डॉकब्लॉक को बदलने के बारे में शिष्टाचार क्या है? क्या परिवर्तन करना, मेरा नाम जोड़ना, मेरे रेपो और डेमो में लिंक जोड़ना, मूल डेमो से लिंक हटाना ठीक है (क्योंकि मेरा कांटा मूल के साथ असंगत होने के कारण समाप्त हो जाएगा)? बेशक, मैं मूल लेखक का नाम और लाइसेंस जानकारी छोड़ दूंगा। रिकॉर्ड के लिए, यह एमआईटी लाइसेंस के तहत लाइसेंस प्राप्त है।
एक एकल डेवलपर के रूप में, जिन्होंने कभी वीसीएस का उपयोग नहीं किया, मैं इतिहास के पुनर्लेखन का आदी हूं । मैं एक परफेक्शनिस्ट हूं और साफ-सुथरा रहना पसंद करता हूं। दर्ज इतिहास का विचार मुझे थोड़ा परेशान कर रहा है और मैं इसे पहली बार करना चाहता हूं । मैंने खेलने के लिए / सीखने के लिए एक नया रेपो बनाया है, लेकिन मैं jQuery UI विजेट को ठीक करने के लिए आगे बढ़ने के लिए उत्सुक हूं ताकि मैं अपने प्रोजेक्ट के साथ आगे बढ़ सकूं।