Git में Develop Branch — यह क्या है, उद्देश्य और कार्य सिद्धांत

लेखक: IT Sectr प्रकाशित: 2026-05-09 पढ़ने का समय: 8 मिनट

Develop Branch Git Flow में मुख्य इंटीग्रेशन ब्रांच है जहाँ रिलीज़ तैयार करने से पहले सभी पूर्ण की गई feature branches को मर्ज किया जाता है। main के विपरीत, develop में सबसे नए लेकिन अभी तक जारी नहीं किए गए परिवर्तन होते हैं — यहाँ टीम के सभी डेवलपर्स से दैनिक कोड इंटीग्रेशन होता है। Atlassian, 2024 के अनुसार, develop Git Flow में एक अनिवार्य ब्रांच है और टीम के लिए एक स्थिर इंटीग्रेशन वातावरण प्रदान करता है।

मुख्य बिंदु

  • Develop Branch डेवलपमेंट ब्रांच है जहाँ रिलीज़ तैयार करने से पहले सभी पूर्ण सुविधाएँ एकत्र की जाती हैं।
  • Feature branches का स्रोत — सभी नई सुविधाएँ नवीनतम develop commit से बनाई जाती हैं।
  • इंटीग्रेशन टेस्टिंग release branch बनाने से पहले develop पर की जाती है।
  • Develop की स्थिरता उच्च होनी चाहिए — कोड यहाँ कोड रिव्यू और स्वचालित जाँच से गुज़रता है।
  • main में मर्जिंग केवल release branch के माध्यम से होती है, सीधे develop से नहीं।

Git में Develop Branch क्या है

Develop Branch (डेवलपमेंट ब्रांच) Git Flow में एक लंबे समय तक चलने वाली ब्रांच है जो सभी डेवलपर्स से कोड इंटीग्रेशन के लिए केंद्रीय हब के रूप में कार्य करती है। डेवलपमेंट पूरा होने और कोड रिव्यू के बाद feature branches इसमें मर्ज की जाती हैं।

develop में कोड हमेशा रिलीज़ बनाने के लिए तैयार स्थिति में होता है, हालाँकि अभी तक प्रोडक्शन में डिप्लॉय नहीं किया गया है। इसका मतलब है कि develop की सभी सुविधाएँ रिव्यू, टेस्टिंग और इंटीग्रेशन जाँच से गुज़री हैं, लेकिन अभी भी अपने रिलीज़ चक्र की प्रतीक्षा कर रही हैं।

main के विपरीत, जहाँ प्रत्येक कोड संस्करण एक रिलीज़ है, develop में परिवर्तनों की एक सतत धारा होती है। feature branches के मर्ज होने पर develop में commits दिखाई देते हैं, जो दिन में कई बार हो सकता है।

Vincent Driessen, 2010 के अनुसार, develop एक सफल ब्रांचिंग मॉडल का एक महत्वपूर्ण तत्व है, क्योंकि यह ड्राफ्ट कार्य को रिलीज़ के लिए तैयार संस्करणों से अलग करता है।

develop और main branch में अंतर

develop और main के बीच अंतर को समझना उचित Git Flow वर्कफ़्लो के लिए महत्वपूर्ण है। ये ब्रांच अलग-अलग कार्य करती हैं और स्थिरता की अलग-अलग आवश्यकताएँ रखती हैं।

विशेषताDevelopMain / Master
उद्देश्यनई सुविधाओं का एकीकरणस्थिर रिलीज़ कोड
स्थिरताउच्च (परीक्षण के बाद)अधिकतम (उत्पादन)
Commit आवृत्तिदैनिक (feature मर्जिंग)प्रति रिलीज़ (हर 1-4 सप्ताह)
ब्रांच स्रोतइससे feature बनाई जाती हैंइससे hotfix बनाई जाती हैं
मर्जिंगPR के माध्यम से feature सेmerge के माध्यम से release से

develop और main में विभाजन टीम को प्रोडक्शन संस्करण की स्थिरता को जोखिम में डाले बिना लगातार नए कोड को एकीकृत करने की अनुमति देता है। डेवलपर्स आधिकारिक रिलीज़ से पहले भी, PR अनुमोदन के तुरंत बाद अपना कोड develop में देख सकते हैं।

Git Flow में develop की भूमिका

Git Flow मॉडल में, develop feature branches (परिवर्तनों का स्रोत) और release branches (रिलीज़ की तैयारी) के बीच एक केंद्रीय स्थान रखता है। इस पदानुक्रम को समझना प्रभावी ब्रांचिंग की नींव है।

  • Feature → Develop — प्रत्येक पूर्ण सुविधा को कोड रिव्यू के साथ Pull Request के माध्यम से develop में मर्ज किया जाता है।
  • Develop → Release — जब रिलीज़ के लिए पर्याप्त परिवर्तन जमा हो जाते हैं, तो develop से release branch बनाई जाती है।
  • Release → Main + Develop — अंतिम तैयारी के बाद, release branch को main (रिलीज़) और वापस develop (बग फिक्स) में मर्ज किया जाता है।
  • Hotfix → Main + Develop — महत्वपूर्ण फिक्स main से बनाए जाते हैं और दोनों ब्रांच में मर्ज किए जाते हैं।

यह संरचना सुनिश्चित करती है कि develop में हमेशा सभी नई सुविधाओं के साथ नवीनतम कोड हो, जबकि main में केवल सत्यापित प्रोडक्शन कोड हो। यह App Store और Google Play में लंबे रिव्यू चक्र वाले मोबाइल प्रोजेक्ट्स के लिए विशेष रूप से महत्वपूर्ण है।

अन्य Git Flow ब्रांच के साथ develop का संबंध

Develop feature, release और hotfix branches के बीच केंद्रीय कड़ी के रूप में कार्य करता है। मर्ज दिशाओं को समझना संघर्षों और commit हानि को रोकने के लिए आवश्यक है।

develop में कोड गुणवत्ता आवश्यकताएँ

develop में कोड गुणवत्ता उच्च होनी चाहिए, लेकिन पूर्ण नहीं। main के विपरीत, जहाँ हर त्रुटि का मतलब तत्काल hotfix है, develop में मामूली कमियाँ स्वीकार्य हैं जो रिलीज़ से पहले ठीक कर दी जाएँगी।

develop में मर्ज करने से पहले कोड के लिए न्यूनतम आवश्यकताएँ:

  • कंपाइलेशन — कोड बिना त्रुटियों के कंपाइल होना चाहिए। develop में टूटा हुआ build पूरी टीम के काम को अवरुद्ध करता है।
  • यूनिट टेस्ट — सभी मौजूदा टेस्ट पास होने चाहिए। नए कोड को कम से कम 70% टेस्ट द्वारा कवर किया जाना चाहिए।
  • कोड शैली — कोड को टीम के स्वीकृत फ़ॉर्मेटिंग और नामकरण मानकों का पालन करना चाहिए।
  • कोई deprecated API नहीं — नए कोड में पुराने तरीकों के उपयोग की अनुमति नहीं है।

CI/CD पाइपलाइन में स्वचालित जाँच develop में प्रत्येक push पर चलनी चाहिए। यदि build टूटता है, तो जिम्मेदार डेवलपर को एक घंटे के भीतर समस्या को ठीक करना होगा या अपने commit को वापस लेना होगा।

develop के लिए CI/CD जाँच

develop के लिए GitHub Actions सेट करना सुनिश्चित करता है कि प्रत्येक PR मर्ज करने से पहले स्वचालित जाँच से गुज़रे। एक सामान्य पाइपलाइन में build, टेस्ट और लिंटिंग शामिल हैं।

yaml
# GitHub Actions — मर्ज के बाद develop की जाँच
name: Develop CI

on:
  pull_request:
    branches: [develop]

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Unit tests
        run: ./gradlew testDebug
      - name: Lint
        run: ./gradlew lint
      - name: Build
        run: ./gradlew assembleDebug

develop में मर्ज के नियम

develop में मर्ज करना इंटीग्रेशन ब्रांच की स्थिरता बनाए रखने के लिए सख्त नियमों का पालन करना चाहिए। इन नियमों का उल्लंघन संघर्ष, टूटे हुए builds और टीम के समय की बर्बादी का कारण बनता है।

  • केवल Pull Request के माध्यम से — develop में सीधा push निषिद्ध है। सभी परिवर्तन कोड रिव्यू से गुज़रते हैं।
  • कम से कम एक अनुमोदन — PR को कार्य में शामिल नहीं कम से कम एक डेवलपर द्वारा अनुमोदित किया जाना चाहिए।
  • Squash merge — साफ़ इतिहास के लिए develop में मर्ज करते समय सभी feature branch commits को एक में संयोजित करने की अनुशंसा की जाती है।
  • PR अद्यतित होना चाहिए — मर्ज करने से पहले, PR को नवीनतम develop commit (rebase या merge) के सापेक्ष अद्यतित किया जाना चाहिए।

PR अद्यतित नियम विशेष रूप से महत्वपूर्ण है। यदि एक feature branch एक सप्ताह पहले बनाई गई थी और develop 50 commits आगे बढ़ गया है, तो सीधा मर्ज संघर्ष का कारण बन सकता है जिसे develop के बजाय PR के संदर्भ में हल करना बेहतर है।

develop को गलत मर्ज से बचाना

Branch protection rules GitHub, GitLab या Bitbucket स्तर पर सेटिंग्स हैं जो develop में गलत परिवर्तनों को रोकती हैं। वे सुनिश्चित करते हैं कि एक आकस्मिक push भी इंटीग्रेशन ब्रांच को न तोड़े।

develop के लिए अनुशंसित सुरक्षा नियम:

  • Pull request आवश्यक — develop में सीधा push प्रतिबंधित करें। सभी परिवर्तन केवल PR के माध्यम से।
  • अनुमोदन आवश्यक — PR मर्ज करने से पहले कम से कम 1-2 अनुमोदन।
  • स्थिति जाँच आवश्यक — यदि CI/CD पाइपलाइन पास नहीं हुई है तो मर्ज को अवरुद्ध करें।
  • अद्यतित होना आवश्यक — मर्ज करने से पहले PR ब्रांच को develop के सापेक्ष अद्यतित किया जाना चाहिए।
  • Push पहुँच प्रतिबंधित करें — develop में push अधिकार केवल वरिष्ठ डेवलपर्स तक सीमित करें।

develop सुरक्षा सेट करने में 10 मिनट लगते हैं लेकिन टूटी हुई इंटीग्रेशन ब्रांच से संबंधित हफ्तों के डाउनटाइम को रोकता है। मल्टी-प्लेटफ़ॉर्म टीमों वाले मोबाइल प्रोजेक्ट्स के लिए, यह विशेष रूप से प्रासंगिक है।

develop के साथ काम करने के लिए कमांड उदाहरण

एक सामान्य डेवलपर के दिन पर विचार करें: सुबह वे develop को अपडेट करते हैं, एक नई feature branch बनाते हैं, और कार्य पूरा करने के बाद परिवर्तनों को वापस develop में मर्ज करते हैं।

bash
# सुबह develop सिंक
git checkout develop
git pull origin develop

# develop से नई feature branch बनाना
git checkout -b feature/add-push-notifications

# सुविधा पर काम...
git add . && git commit -m "Add FCM integration"

# डेवलपमेंट के दौरान develop अपडेट करना
git fetch origin develop
git rebase origin/develop

# PR अनुमोदन के बाद — स्थानीय develop अपडेट करें
git checkout develop
git pull origin develop
git branch -d feature/add-push-notifications

develop में git pull कमांड एक साथ दो ऑपरेशन करता है: git fetch (सर्वर से नए commits लाता है) और git merge (उन्हें स्थानीय ब्रांच के साथ मर्ज करता है)। develop के लिए, यह मानक सिंक्रनाइज़ेशन विधि है।

टूटे हुए मर्ज के बाद develop को पुनर्स्थापित करना

यदि build तोड़ने वाला कोड develop में आ जाता है, तो जल्दी से कार्य करने की आवश्यकता है। develop के डाउनटाइम का हर घंटा पूरी डेवलपमेंट टीम के लिए अवरुद्ध कार्य है।

यदि build तोड़ने वाला कोड develop में आ जाता है, तो समस्याग्रस्त परिवर्तनों को पूर्ववत करने वाला नया commit बनाने के लिए git revert का उपयोग करें। develop में git reset का उपयोग न करें — यह इतिहास को फिर से लिखता है जो अन्य टीम सदस्यों के पास पहले से है।

bash
# समस्याग्रस्त commit ढूँढना
git log --oneline develop

# revert के माध्यम से commit रद्द करना (सुरक्षित)
git revert a1b2c3d

# रिमोट develop में फिक्स भेजना
git push origin develop

# किसी विशिष्ट commit में परिवर्तन देखना
git show a1b2c3d --stat

अक्सर पूछे जाने वाले प्रश्न

क्या छोटे प्रोजेक्ट में develop branch आवश्यक है?

एक या दो डेवलपर्स वाले प्रोजेक्ट्स के लिए, develop अक्सर अनावश्यक होता है — main और feature branches पर्याप्त हैं। जैसे ही टीम 3+ लोगों तक बढ़ती है, develop स्थिर प्रोडक्शन कोड से अधूरी सुविधाओं को अलग करने के लिए आवश्यक हो जाता है।

क्या सीधे develop में commit किया जा सकता है?

नहीं, किसी भी पेशेवर प्रोजेक्ट में develop में सीधे commits निषिद्ध हैं। सभी परिवर्तन कोड रिव्यू और स्वचालित जाँच के साथ Pull Request के माध्यम से जाते हैं। अपवाद README या CI कॉन्फ़िगरेशन के प्रशासनिक संपादन हैं, लेकिन इन्हें भी PR के माध्यम से करना बेहतर है।

develop trunk-based development से कैसे अलग है?

Trunk-based development में कोई अलग develop branch नहीं है — सभी डेवलपर्स बहुत छोटी feature branches (1-2 दिन) के साथ main में काम करते हैं। यह Git Flow का एक विकल्प है, जो उच्च स्तर के टेस्ट ऑटोमेशन वाली DevOps संस्कृति में लोकप्रिय है।

कितनी बार develop को रिलीज़ परिवर्तनों के साथ अपडेट किया जाना चाहिए?

प्रत्येक रिलीज़ के बाद, release branch को वापस develop में मर्ज किया जाता है ताकि रिलीज़ तैयारी के दौरान किए गए सभी फिक्स शामिल किए जा सकें। यदि ऐसा नहीं किया जाता है, तो develop रिलीज़ कोड से अलग हो जाएगा, जिससे अगली रिलीज़ में संघर्ष होगा।

क्या करें यदि develop टूट गया है और कोई PR नहीं बना सकता?

यदि develop टूट गया है, तो एक वरिष्ठ डेवलपर अंतिम स्थिर commit से hotfix branch बनाता है, समस्या को ठीक करता है, और विशेष स्थिति वाले PR के माध्यम से सीधे develop में फिक्स मर्ज करता है। पुनर्प्राप्ति के बाद, मूल कारण विश्लेषण किया जाता है।

सारांश

  • Develop Branch Git Flow में केंद्रीय इंटीग्रेशन ब्रांच है जहाँ कोड रिव्यू के बाद सभी पूर्ण feature branches मर्ज की जाती हैं।
  • develop और main को अलग करना अधूरी सुविधाओं को स्थिर प्रोडक्शन कोड से अलग करने की अनुमति देता है, जिससे रिलीज़ त्रुटियों का जोखिम कम होता है।
  • कोड गुणवत्ता develop में उच्च होनी चाहिए: कंपाइलेशन, टेस्ट पास करना और कोड शैली स्वचालित रूप से जाँची जाती है।
  • develop में सीधा push निषिद्ध है — केवल कम से कम एक सहकर्मी के अनुमोदन के साथ Pull Request के माध्यम से।
  • Branch सुरक्षा branch protection rules के माध्यम से इंटीग्रेशन वातावरण की आकस्मिक टूट-फूट को रोकती है।
  • Release branch develop से बनाई जाती है, और रिलीज़ के बाद वापस मर्ज की जाती है, develop को वास्तविक कोड स्थिति के साथ सिंक्रनाइज़ करती है।
  • अनुशंसा: develop में प्रत्येक push पर CI/CD जाँच सेट करें और मर्ज करने से पहले PR को अद्यतित रहने की आवश्यकता लागू करें।

हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे

IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।

परियोजना पर चर्चा करें

यह भी पढ़ें