मुझे एक ट्रंक सेटअप मिला है जहां मेरा सभी उत्पादन कोड चला जाता है।एक जीआईटी-एसवीएन डीबग-> फीचर शाखा को ट्रंक में स्थानांतरित करने का सबसे अच्छा तरीका क्या है?
तब मेरे पास debug
शाखा है (माता-पिता trunk
है) जो मैं लॉगिंग, var डंप आदि जैसे डिबगिंग कोड जोड़ता हूं ... यह कभी भी उत्पादन में नहीं होना चाहिए। यह शाखा शायद ही कभी बदलती है।
अंत में मेरे पास feature
शाखा है (माता-पिता debug
) जहां मैं डिबगिंग के लाभों के साथ अपने सभी कोडिंग करता हूं। इस शाखा में लगातार काम करता है।
मैं सिर्फ यह जानना चाहता हूं कि feature
कोड trunk
पर ले जाने का कोई आसान तरीका है या नहीं। यह मैं वर्तमान में क्या कर रहा है:
- अन्य devs से
master
औरgit svn rebase
परिवर्तन करने के लिए मेरीfeature
शाखा में सभी परिवर्तन हो - स्विच। अन्य devs को
rebase
master
शाखा पर मेरीfeature
शाखा (git rebase --onto master debug feature
)merge
सुविधाmaster
कोgit svn dcommit
परिवर्तनrebase
debug
कोmaster
(git rebase master debug
)- हटाना
feature
शाखा - एक बनानेसे नया शाखा।
शायद मुझे इसे एक नया प्रश्न बनाना चाहिए, लेकिन क्या यह वास्तव में एक अच्छी प्रैक्टिस है जिसे आप अपनी शाखा में डीबगिंग कोड डालकर रनटाइम पर चालू/बंद कर सकते हैं? – Damien
व्यक्तिगत रूप से मैं अपने कोड में #ifdebug स्टेटमेंट जोड़ने और उत्पादन में सामान भेजने को समाप्त करने का जोखिम उठाना नहीं चाहता हूं। मैंने पैच की धारणा के साथ भी खेला। डिबग पैच बनाना जो मैं विकास के दौरान आवेदन करता हूं और रिलीज के लिए तैयार होने पर इसे अन-पैच करता हूं, लेकिन इससे विवाद पैदा हो जाते हैं और पैच को अद्यतित रखने की कोशिश करना दर्द होता है। –
@ डेमियन: व्यक्तिगत रूप से, मैं आपके साथ हूं। मुझे लगता है कि अधिक सेन समाधान रनटाइम पर डीबग सामान को सक्षम/अक्षम करने की अनुमति देना है (या * बहुत * कम से कम, संकलन समय पर)। –