विकास के दौरान मुझे अक्सर "इंटरमीडिएट" प्रतिबद्धताओं को प्रतिबद्ध करने और धक्का देने की आवश्यकता होती है, यानि कोड के साथ संगत या कुछ बदलने के बीच में काम करता है, आदि। मैं नहीं चाहता इस तरह के काम करते हैं, लेकिन कार्यालय से घर तक अपने काम को आसान बनाने के लिए यह आवश्यक है, कभी-कभी अन्य डेवलपर्स के लिए उन्हें आधार प्राप्त करने के लिए जिस पर वे अपना काम शुरू कर सकते हैं।एक शाखा से दूसरी शाखा में शामिल किए बिना गिट विलय
मैंने सोचा था कि मुझे लगता है कि समस्या का समाधान मिल गया था:
मैं एक अलग "देव" शाखा बना सकते हैं और सभी मध्यवर्ती प्रतिबद्ध हैं।
कोड एक बार अच्छी स्थिति में है, तो मास्टर के लिए विलय करें। तो मास्टर में "इंटरमीडिएट" नहीं होता है लेकिन केवल "सामान्य" होता है।
सभी मध्यवर्ती प्रतिबद्धताओं के साथ "देव" शाखा हटाएं।
लेकिन यह काम नहीं करता है। जब मैं विलय करता हूं, न केवल विलय प्रतिबद्धता मास्टर में शामिल होती है, बल्कि सभी "मध्यवर्ती" भी "देव" शाखा से होती है। इसलिए "देव" शाखा को हटाने से कुछ भी नहीं मिलता है, इसकी "मध्यवर्ती" वहां रहती है।
तो प्रश्न यह है: क्या यह संभव है कि मास्टर में केवल अपनी खुद की प्रतिबद्धता + विलय प्रतिबद्धता शामिल हो और दूसरी शाखा से काम शामिल न हो? यदि यह असंभव है, तो क्या आप मुझे सलाह दे सकते हैं कि मेरे लक्ष्य को कैसे प्राप्त किया जाए - इंटरमीडिएट परिणामों को अस्थायी रूप से सहेजने की क्षमता रखने के बाद भी उन्हें बाद में हटा दें?
स्क्वैश एक अच्छा विचार है कि वह इन डेवलपर्स को अन्य डेवलपर्स के साथ साझा कर रहा है? 'गीट रिबेस -आई' का उल्लेख करने के लिए – jszakmeister
+1। तब लोग * वास्तव में * स्थानीय देव शाखा के बारे में नहीं जानते। –
@jszakmeister, क्योंकि वह स्थानीय देव शाखा से मास्टर के स्थानीय चेकआउट में परिवर्तन विलय कर रहा है, यह ठीक है। जब वह अपने परिवर्तनों को धक्का देता है, तो यह अन्य डेवलपर्स को दिखाई देगा जैसे कि उनके परिवर्तन एक विशाल प्रतिबद्ध थे। दूसरे शब्दों में, स्क्वैशिंग आपको एक प्रतिबद्धता की अनुमति देता है जो कहता है, "नई सुविधा जोड़ें," एकाधिक के साथ, "ओह। फिक्स टाइपो," करता है। –