में शाखाओं में टैग से विलय ढूंढना मेरा उत्पाद IntelliJ के लिए एक प्लगइन है। मैं अंतर्निहित इंटेलिजे मंच के कई संस्करणों का समर्थन करता हूं, और प्रत्येक के लिए अपनी प्लगइन का निर्माण जारी करता हूं क्योंकि उनके एपीआई अक्सर संस्करणों के बीच बदलते हैं। यह सिर्फ मैं इस पर काम कर रहा हूं, इसलिए मैं मास्टर में विकसित हूं और फिर प्रत्येक संस्करण के लिए एक शाखा बनाए रखता हूं। तो मेरी रेपो इस तरह दिखता है:गिट
1.6.0 1.6.1-eap1
.... a---b---c--- master
\ \
d-------e--- idea-2017.1
\ \
f-------g--- idea-2016.3
\ \
... ... etc etc
a
एक स्थिर रिलीज है, और 1.6.0
साथ टैग किया गया। c
एक ईएपी (बीटा) रिलीज है, और 1.6.1-eap1
के साथ टैग किया गया है। यह योजना इन दो मामलों के लिए ठीक काम करती है।
कभी-कभी मैं एक देव निर्माण बनाना चाहता हूं जो रिलीज चैनल में नहीं जाता है, लेकिन उपयोगकर्ता उपयोगकर्ता मैन्युअल रूप से डाउनलोड कर सकते हैं और उन्हें पसंद कर सकते हैं। मैं प्रत्येक मंच के लिए एक देव निर्माण का निर्माण करना चाहता हूं, क्योंकि देव उपयोगकर्ता किसी भी इंटेलिजे संस्करण का उपयोग कर सकते हैं। सबसे अच्छा तरीका मैं सोच सकता हूं कि देव निर्माण के लिए एक शाखा बनाना है, कहें, टैग (a
प्रतिबद्ध करें), और फिर d
, f
से संबंधित शाखाएं और इसी तरह से मैं देव शाखा को मर्ज कर सकता हूं और बना सकता हूं देव बनाता है।
मान लिया जाये कि मैं बना सकते हैं और इन शाखाओं बनाए रखने के लिए एक स्क्रिप्ट लिखना चाहते हैं, मैं कैसे पा सकते हैं करता है d
, f
और इतने पर टैग 1.6.0
से से देव निर्माण शाखाओं बनाने के लिए?
क्या आप अपनी डीई शाखाओं के आधार के रूप में प्रत्येक इंटेलिजे संस्करण के लिए नवीनतम संस्करण का उपयोग नहीं करना चाहते हैं? अर्थात। ए, डी और एफ के बजाय सी, ई और जी का उपयोग करना। मुझे लगता है कि उनमें प्रत्येक संस्करण के लिए नवीनतम फिक्स शामिल हैं और नए विकास के परीक्षण के लिए बेहतर आधार थे। – lucash
निश्चित रूप से, यह संभव है, लेकिन समस्या एक जैसी है - टैग '1.6.1-eap1' दिया गया है, मैं 'e',' g' आदि कैसे ढूंढूं। असल में मैं इसे बनाने में सक्षम होना चाहता हूं किसी भी टैग किए गए संशोधन से शाखाएं, जो विलय करने की गारंटी है, प्रत्येक संस्करण शाखा में विलय कर रही है। – Colin