हमें हमारे गिटहब भंडार के साथ कोई समस्या है। मैं अपने वर्कफ़्लो को समझाऊंगा:गिट के बाद गायब कोड
डेवलपर मेनलाइन शाखा से सुविधा/बग फिक्स शाखाएं बनाते हैं। वे अपने परिवर्तनों को वापस विलय करने के लिए अनुरोध करते हैं। वे मुख्य लाइन शाखा से रीबेज कर सकते हैं ताकि वे काम से नवीनतम अपडेट प्राप्त कर सकें। एक रिबेस के बाद वे अपनी फीचर शाखा पर जोर देते हैं।
हाल ही में गिटहब वेब इंटरफ़ेस का उपयोग करके दो पुल अनुरोध स्वचालित रूप से विलय कर दिए गए थे। इसके बाद - अनुरोध के विलय के लगभग दो दिन बाद - यह पता चला कि इन प्रतिबद्धताओं में परिवर्तन कोड में नहीं थे। इतिहास में कुछ भी नहीं बताता है कि इन परिवर्तनों को वापस या ओवरराइट किया गया था। विलय स्वयं प्रतिबद्ध इतिहास में प्रकट नहीं होते हैं और व्यक्ति स्वयं को प्रकट नहीं करता है। लेकिन पुल अनुरोध सफलतापूर्वक विलय कर दिया गया था। लापता कामों में से एक अब चेरी पिक के लिए उपलब्ध नहीं है। जब हम कोशिश करते हैं तो हमें घातक - खराब ऑब्जेक्ट संदेश मिलता है।
हमें संदेह है कि इतिहास की कुछ पुनर्लेखन हुई है। हम कैसे पता लगा सकते हैं और हम इसे कैसे होने से रोक सकते हैं। क्या हमारे वर्कफ़्लो के साथ कुछ मौलिक रूप से गलत है?
क्या आपने इस समय के आसपास रिफ्लॉग का निरीक्षण किया है? क्या हो रहा है इसके बारे में कुछ संकेत हो सकते हैं। आम तौर पर, बल धक्का को एक बुरा विचार माना जाता है। अगर वे विलय के बाद फीचर शाखा में मजबूर हो जाते हैं, तो मुझे यकीन नहीं है कि क्या होगा, हालांकि मुझे लगता है कि यह मास्टर शाखा पर प्रतिबद्धता को खोना नहीं चाहिए। मेथिंक किसी ने गलती से मुख्य रेखा पर बल दिया है - ऐसा कोई अन्य स्पष्ट तरीका नहीं देख सकता है जो हो सकता है। – MattJenko
मैंने हाल ही में इसी मुद्दे के कारण गिथब को ईमेल किया है (एक साथी देवों में से एक ने बिना किसी पूछे बिना बल दिया है) यह पूछने के लिए कि क्या गीथूब रेपो में बल धक्का को अस्वीकार करना संभव है, उन्होंने कहा कि अब यह कॉन्फ़िगर करने योग्य नहीं है, लेकिन अगर हम हार गए हैं कुछ काम करते हैं, हम उन्हें पुनर्प्राप्त करने में मदद मांगने के लिए जीएच से संपर्क कर सकते हैं। आम तौर पर सभी अनाथ काम जीएच में रीफ्लॉग में और देव के स्थानीय रेपो में होना चाहिए, जिन्होंने पुल अनुरोध को आरंभ किया - कचरा स्वचालित रूप से या मैन्युअल रूप से एकत्रित होने तक। –
इसी तरह की चीज़ के लिए यहां देखें: http://stackoverflow.com/questions/5094524/github-prevent-colaborator-from-push-f लगता है कि गिटहब इसे लागू करने के लिए बहुत उत्सुक नहीं है। भविष्य के लिए आप या तो 1) इंटरमीडिएरी रेपो कर सकते हैं, विभिन्न हुक सेट अप के साथ चीजें प्राप्त कर सकते हैं, जो सभी ठीक होने पर गिथब को धक्का देगी, 2) केंद्रीय रेपो को धक्का देने की अनुमति देने वाले व्यक्तियों की संख्या को प्रतिबंधित करें (शायद केवल 1 व्यक्ति, प्रत्येक घूर्णन सप्ताह आदि)। मुझे पता है कि यह जवाब संतोषजनक नहीं हो सकता है। –