Skip to content

Worktrees समानांतर काम: विभिन्न कार्यों को अलग रखकर एक साथ चलाना

📚 सीरीज नेविगेशन: पिछला लेख [24 नियम और हुक्स (Rules & Hooks)] आपको Codex में "सुरक्षा कपाट" और "स्वचालित ट्रिगर" सेट करना सिखाता है। यह लेख एक नया आयाम प्रस्तुत करता है—एक ही Codex से कई काम कराने के बजाय, कई कार्यों को एक साथ बिना किसी फ़ाइल टकराव के चलाना। Worktree (वर्कट्री) इसी अलगाव को सुनिश्चित करने का मुख्य माध्यम है: इसे कैसे बनाएं, कैसे उपयोग करें, एक ही ब्रांच को दो स्थानों पर क्यों लोड नहीं किया जा सकता, और Handoff (हैंडऑफ़) द्वारा कार्यों को फ़ोरग्राउंड और बैकग्राउंड में कैसे स्थानांतरित किया जाता है। अगला लेख [26 Git और GitHub इंटीग्रेशन] यह समझाएगा कि काम पूरा होने के बाद बदलावों को कमिट, पुश और PR (पुल रिक्वेस्ट) कैसे किया जाए।

यहाँ मेरे एक अनुभव का उदाहरण है जब मैंने इस साल मार्च में एक गलती की थी।

आसानी के लिए मैंने Codex Desktop App में एक ही Git रिपोजिटरी के साथ दो स्थानीय (Local) सत्र एक साथ शुरू किए—एक सत्र में मैं डेटाबेस संरचना पर काम कर रहा था और दूसरे में रूटिंग फ़ाइलों पर। मुझे लगा कि एक साथ दो सत्रों से काम तेज़ होगा। लेकिन दोनों ही सत्रों ने एक ही फ़ाइल config.ts में बदलाव किए, और जब दूसरे सत्र ने बदलाव सहेजे, तो उसने पहले सत्र के आधे काम को ओवरराइट (मिटा) दिया। मुझे git diff में आई गड़बड़ी को ठीक करने में काफी समय लगा, और मुझे समझ आया कि: त्रुटि Codex की नहीं थी, बल्कि मेरी थी क्योंकि मैं दो सत्रों को एक ही फ़ाइल पर काम करने के लिए कह रहा था।

उस दिन के बाद से मैंने सही विकल्प—Worktree—का उपयोग करना शुरू किया। जब भी एक ही प्रोजेक्ट में समानांतर में काम करना हो, तो हमेशा Worktree का उपयोग करें, जिससे प्रत्येक सत्र को कोड की एक अलग पृथक प्रति (isolated copy) मिलती है और कोई टकराव नहीं होता।

लेख 07 में हमने Desktop App के बारे में बात करते समय Worktree का संक्षिप्त विवरण देखा था—यह नए सत्र के तीन विकल्पों (Local / Worktree / Cloud) में से एक है (Cloud मोड का विवरण [10 क्लाउड कार्य] में है)। इस लेख में हम इसे विस्तार से समझेंगे: कि यह आंतरिक रूप से कैसे काम करता है, एक ही ब्रांच को एक साथ दो स्थानों पर लोड न करने का नियम क्या है, Handoff के तरीके क्या हैं, और अतिरिक्त प्रतियाँ जमा होने पर उन्हें कैसे साफ़ किया जाए।

इस लेख को पढ़ने के बाद, आपको मिलेगा:

  • एक सरल विवरण कि Worktree क्या है, और यह "एक साथ दो स्थानीय सत्र चलाने" से कैसे अलग है।
  • Desktop App में Worktree सत्र शुरू करने के चरण, और इसके डिफ़ॉल्ट रूप से detached HEAD (अस्थायी स्थिति) पर होने का नियम।
  • सबसे महत्वपूर्ण नियम—एक ही ब्रांच को एक साथ दो स्थानों पर लोड नहीं किया जा सकता, और एरर आने पर उसका समाधान।
  • Handoff द्वारा सत्र को Local और Worktree के बीच स्थानांतरित करने के तरीके।
  • Local environment के setup स्क्रिप्ट द्वारा नए worktree में डिपेंडेंसी स्वतः इंस्टॉल करना।
  • अतिरिक्त worktree फ़ाइलों से मेमोरी भरने पर समाधान: डिफ़ॉल्ट रूप से कितने सुरक्षित रहते हैं, और हटाने से पहले स्नैपशॉट का नियम।

⚠️ Worktrees, Handoff और Local environments सभी Codex Desktop App (डेस्कटॉप ऐप) के फीचर्स हैं, CLI में इनका विकल्प उपलब्ध नहीं है। नीचे दी गई सभी सेटिंग्स और मेनू विकल्प Codex आधिकारिक दस्तावेज़ों (Worktrees / Local environments) पर आधारित हैं।


01 पहले समझें: Worktree वास्तव में क्या है

निष्कर्ष यह है: Worktree का उपयोग तब किया जाता है जब आप एक ही रिपोजिटरी में कई स्वतंत्र कार्यों को एक साथ बिना किसी टकराव के चलाना चाहते हैं। इसके लिए एक नियम आवश्यक है—कार्य स्वतंत्र फ़ाइलों पर होने चाहिए

दैनिक उपयोग में आपको इसकी आवश्यकता दो परिदृश्यों में होती है:

पहला, जब कार्य स्वतंत्र और एक-दूसरे से असंबंधित हों। जैसे "फ्रंटएंड स्टाइल बदलना", "बैकएंड बग ठीक करना" और "टेस्ट लिखना"—ये कार्य स्वतंत्र हैं और इन्हें एक साथ चलाया जा सकता है।

दूसरा, जब आप बिना काम खराब किए किसी नए विचार का परीक्षण करना चाहते हैं। यदि वर्तमान कोड में कई अनकमिटेड बदलाव हैं, और आप कुछ नया जाँचना चाहते हैं, तो सीधे काम करने पर पिछला काम खराब होने का जोखिम रहता है।

यदि आप इसके लिए केवल दो सामान्य स्थानीय सत्र शुरू करेंगे—तो गड़बड़ी होगी: दोनों सत्र एक ही फ़ाइल पर बदलाव लिखकर काम खराब कर देंगे।

तुलना: मरीज की फाइल से। मरीज की मूल फ़ाइल एक ही होती है, यदि अलग-अलग विभागों के डॉक्टर एक साथ उसी फ़ाइल पर दवाइयाँ लिखेंगे, तो भ्रम की स्थिति बनेगी। सही तरीका यह है कि प्रत्येक विभाग को फ़ाइल की एक प्रति (Copy) दी जाए ताकि वे स्वतंत्र रूप से लिख सकें, और अंत में उन्हें मूल फ़ाइल में मिलाया जाए। Worktree भी यही करता है: यह एक ही Git इतिहास से आपके लिए कई स्वतंत्र निर्देशिकाएं तैयार करता है, जिनमें सभी फ़ाइलें स्वतंत्र होती हैं, लेकिन वे एक ही .git इतिहास को साझा करती हैं। एक सत्र के बदलाव दूसरे को प्रभावित नहीं करते।

आधिकारिक दस्तावेज़ में इसकी परिभाषा सरल है:

प्रत्येक worktree को आपके रिपोजिटरी की फ़ाइलों की एक स्वतंत्र प्रति मिलती है, लेकिन वे कमिट और ब्रांच संबंधी मूल इतिहास (.git फ़ोल्डर) साझा करते हैं। यह आपको समानांतर में कई ब्रांचेस पर काम करने की अनुमति देता है।

Worktree के लिए उपयुक्त परिदृश्य:

  • "स्वतंत्र मॉड्यूल्स पर एक साथ काम करना, जैसे एक में बग फिक्स और दूसरे में सुधार"—अलग-अलग Worktree सत्र शुरू करें ताकि कोई टकराव न हो।
  • "कोड में बदलाव किए बिना किसी नए विचार का परीक्षण करना"—वैकल्पिक Worktree में परीक्षण करें, मूल कोड सुरक्षित रहेगा।
  • "पृष्ठभूमि में भारी काम चलाना, जबकि स्थानीय रूप से दूसरा काम जारी रखना"—कार्य को worktree में पृष्ठभूमि में चलाएं।

💡 संक्षेप में: Worktree एक ही रिपोजिटरी में स्वतंत्र कार्यों को समानांतर में बिना किसी फ़ाइल ओवरराइट के चलाने की व्यवस्था है, जहाँ क्रेडेंशियल्स और Git इतिहास साझा रहता है लेकिन फ़ाइलें स्वतंत्र होती हैं।


02 Desktop App में Worktree सत्र शुरू करना

स्थापना की प्रक्रिया Desktop App में बहुत सरल है और इसके लिए कमांड चलाने की आवश्यकता नहीं होती।

यह फ़ीचर केवल Git रिपोजिटरी में ही काम करता है।

शुरू करने के 4 चरण:

चरण 1: नया सत्र शुरू करते समय Worktree चुनें। चैट विंडो में नीचे दिए गए विकल्पों में से Local के स्थान पर Worktree चुनें। (आप चाहें तो local environment की setup स्क्रिप्ट भी चुन सकते हैं, धारा 05 देखें)।

चरण 2: शुरुआती ब्रांच (Base Branch) चुनें। आपको चुनना होगा कि यह worktree किस ब्रांच (जैसे main या master) पर आधारित होगा, या आप अनकमिटेड बदलावों के साथ वर्तमान ब्रांच का भी उपयोग कर सकते हैं ताकि चल रहा काम वहाँ ले जाया जा सके।

चरण 3: निर्देश दें। निर्देश सबमिट करते ही Codex चयनित ब्रांच के आधार पर एक Git worktree बना देगा और काम शुरू कर देगा।

चरण 4: काम समाप्त होने पर निर्णय। काम होने पर आप इसी worktree पर काम जारी रख सकते हैं (कमिट, पुश या PR) या Handoff द्वारा सत्र को वापस Local में स्थानांतरित कर सकते हैं (धारा 04)।

महत्वपूर्ण नियम: worktree डिफ़ॉल्ट रूप से detached HEAD पर होता है

यह एक महत्वपूर्ण बात है जिसे जानना आवश्यक है:

डिफ़ॉल्ट रूप से, Codex "detached HEAD" स्थिति में काम करता है।

क्यों? ताकि आपके मुख्य ब्रांच इतिहास में अनावश्यक अस्थायी ब्रांचेस की बाढ़ न आए। आप एक साथ पाँच worktree बना सकते हैं और इससे आपके सामान्य ब्रांच इतिहास पर कोई प्रभाव नहीं पड़ेगा।

यदि आप उन बदलावों को एक वास्तविक ब्रांच में बदलना चाहते हैं—तो सत्र के शीर्ष पर Create branch here (यहाँ ब्रांच बनाएं) बटन पर क्लिक करें, जिससे यह एक ब्रांच में बदल जाएगा और आप कमिट या पुश कर पाएंगे।

💡 संक्षेप में: Worktree सत्र शुरू करने के चरण हैं—Worktree मोड चुनना → शुरुआती ब्रांच चुनना → निर्देश देना → काम समाप्त होने पर निर्णय; याद रखें कि यह अस्थायी (detached HEAD) स्थिति में रहता है, और पुश करने के लिए Create branch here पर क्लिक करना आवश्यक है।


03 सबसे महत्वपूर्ण नियम: एक ही ब्रांच को दो स्थानों पर लोड नहीं किया जा सकता

यह नियम अत्यंत महत्वपूर्ण है और इसका उल्लंघन होने पर एरर आ सकता है।

Git का नियम: एक विशिष्ट ब्रांच को एक समय में केवल एक ही worktree (कार्य निर्देशिका) में सक्रिय (checkout) रखा जा सकता है।

यदि आपने किसी worktree में feature/a ब्रांच सक्रिय की है, तो आप अपने स्थानीय (Local) सत्र में उसी feature/a को सक्रिय नहीं कर सकते।

तुलना: पुस्तकालय की पुस्तक से। एक पुस्तक की एक ही प्रति होती है, यदि कोई उसे ले गया है, तो दूसरा उसे तब तक नहीं ले सकता जब तक वह वापस न आ जाए। Git ब्रांच के साथ भी ऐसा ही है—यदि दो स्थानों पर एक ही समय में एक ही ब्रांच में बदलाव करने की अनुमति दी जाएगी, तो इतिहास में भ्रम की स्थिति बनेगी।

यदि आप ऐसा करने का प्रयास करेंगे, तो Git एरर दिखाएगा:

fatal: 'feature/a' is already used by worktree at '<WORKTREE_PATH>'

इसका अर्थ है कि वह ब्रांच पहले से ही किसी अन्य worktree में उपयोग की जा रही है।

समाधान: इसके लिए Handoff का उपयोग करें।

  • यदि आप केवल बदलावों को देखना चाहते हैं: तो उस worktree में कोई अन्य ब्रांच सक्रिय करें ताकि वांछित ब्रांच खाली हो सके।
  • यदि आप काम को स्थानीय सत्र में ले जाना चाहते हैं: तो Handoff द्वारा सत्र को Local में स्थानांतरित करें

💡 संक्षेप में: एक ही ब्रांच एक समय में केवल एक ही स्थान पर सक्रिय रह सकती है, दुबारा प्रयास करने पर already used by worktree एरर आएगा; बदलावों को स्थानांतरित करने के लिए Handoff का उपयोग करें


04 Handoff: सत्रों को स्थानांतरित करना

Handoff का उपयोग करके आप एक ही ब्रांच को विभिन्न स्थानों पर सक्रिय न करने की सीमा से बच सकते हैं।

हृदय मॉडल को समझें: Local फ़ोरग्राउंड (सामने) है, और Worktree बैकग्राउंड (पृष्ठभूमि) है। Local वह स्थान है जहाँ आप सीधे काम करते हैं, अपने कोड एडिटर का उपयोग करते हैं और सर्वर रन करते हैं; जबकि Worktree पृष्ठभूमि में काम करने वाला पृथक वातावरण है। Handoff इन दोनों के बीच सत्र को स्थानांतरित करने का माध्यम है।

तुलना: होटल के किचन काउंटर और स्टोर रूम से। काउंटर वह स्थान है जहाँ मुख्य शेफ काम करता है; जबकि स्टोर रूम वह स्थान है जहाँ कटी हुई सब्ज़ियाँ या अन्य तैयारियाँ रखी जाती हैं। काम के अनुसार भोजन को काउंटर पर लाया जाता है या स्टोर रूम में रखा जाता है। Handoff भी यही करता है—और इसके लिए आवश्यक Git ऑपरेशन्स को Codex स्वयं संभाल लेता है, आपको मैन्युअल रूप से कमांड चलाने की आवश्यकता नहीं होती।

आधिकारिक विवरण:

यह महत्वपूर्ण है क्योंकि Git एक ब्रांच को एक समय में केवल एक ही स्थान पर सक्रिय रखने की अनुमति देता है।

इसके दो मार्ग हैं:

मार्ग 1: Worktree → Local (बैकग्राउंड से फ़ोरग्राउंड में लाना)। सत्र के शीर्ष पर Hand off पर क्लिक करें और Local चुनें। उपयोग: जब आप अपने स्थानीय वातावरण में बदलावों की समीक्षा करना चाहते हैं—अपने सामान्य एडिटर में diff देखना, स्थानीय विकास सर्वर चलाना या परीक्षण करना।

मार्ग 2: Local → Worktree (फ़ोरग्राउंड से बैकग्राउंड में ले जाना)। यदि आप स्थानीय सत्र में काम कर रहे हैं, और वर्तमान सत्र को खाली करके इसे पृष्ठभूमि में चलाना चाहते हैं, तो Hand off पर क्लिक करके इसे worktree में भेज दें—ताकि Codex पृष्ठभूमि में काम करता रहे और आप स्थानीय रूप से कोई दूसरा काम कर सकें।

ध्यान रखें: सत्र हमेशा अपने संबंधित worktree से जुड़ा रहता है। यदि आप इसे Local में लाते हैं और फिर वापस भेजते हैं, तो यह उसी worktree में जाएगा, कोई नया फ़ोल्डर नहीं बनाया जाएगा।

एक महत्वपूर्ण नियम:

चूँकि Handoff Git का उपयोग करता है, इसलिए .gitignore में शामिल फ़ाइलें इसके साथ स्थानांतरित नहीं होंगी।

यानी—.env या स्थानीय क्रेडेंशियल्स Handoff के साथ नहीं जाएँगे। इन्हें आपको मैन्युअल रूप से सेटअप करना होगा, जिसे हम अगले अनुभाग में देखेंगे।

Worktree → LocalLocal → Worktree
दिशाबैकग्राउंड से फ़ोरग्राउंडफ़ोरग्राउंड से बैकग्राउंड
उपयोगएडिटर में समीक्षा करना, टेस्ट रन करनापृष्ठभूमि में काम चलाना, स्थानीय सत्र खाली करना
Git प्रबंधनCodex स्वतः संभालता हैCodex स्वतः संभालता है
.gitignore फ़ाइलेंस्थानांतरित नहीं होतींस्थानांतरित नहीं होतीं

💡 संक्षेप में: Handoff सत्र को Local (फ़ोरग्राउंड) और Worktree (बैकग्राउंड) के बीच स्थानांतरित करता है, और Git के कार्यों को Codex स्वयं संभालता है; ध्यान रखें कि .gitignore में शामिल फ़ाइलें इसके साथ नहीं जातीं


05 डिपेंडेंसी स्वतः इंस्टॉल करना: setup स्क्रिप्ट का उपयोग

चूँकि worktree एक नई निर्देशिका होती है, इसलिए Git से बाहर की फ़ाइलें (जैसे node_modules या .env) उसमें नहीं होतीं। इसके कारण शुरू में टाइमआउट या कनेक्टिविटी की समस्या आ सकती है।

यदि .env फ़ाइल worktree में नहीं होगी, तो डेटाबेस कनेक्शन विफल हो जाएगा। इसके लिए setup स्क्रिप्ट का उपयोग किया जाता है।

तुलना: नई दुकान खोलने की चेकलिस्ट से। मुख्य दुकान में सभी आवश्यक सामान होता है, नई शाखा (worktree) खोलने पर सामान नहीं होता। सही तरीका यह है कि एक चेकलिस्ट हो: काउंटर लगाना, बिजली कनेक्शन लेना, स्टॉक रखना। Local environment की setup स्क्रिप्ट यही चेकलिस्ट है—जब भी नया worktree बनता है, यह स्क्रिप्ट स्वतः चलती है और आवश्यक डिपेंडेंसी इंस्टॉल कर देती है।

इसे सेट करना:

  • Codex App की settings (सेटअप) से local environment को कॉन्फ़िगर करें, जिसकी सेटिंग्स प्रोजेक्ट के .codex फ़ोल्डर में सहेजी जाती हैं।
  • इस फ़ोल्डर को Git में शामिल करके टीम के साथ साझा किया जा सकता है ताकि सभी के लिए यह स्वतः काम करे।

उदाहरण के लिए, TypeScript प्रोजेक्ट में setup स्क्रिप्ट:

bash
npm install
npm run build

नया worktree बनते ही ये कमांड्स स्वतः चलेंगी, जिससे आवश्यक डिपेंडेंसी इंस्टॉल हो जाएँगी और Codex बिना किसी एरर के काम शुरू कर पाएगा।

प्लेटफ़ॉर्म विवरण: आप विभिन्न प्लेटफ़ॉर्म्स (macOS / Windows / Linux) के लिए स्वतंत्र setup स्क्रिप्ट्स लिख सकते हैं।

इसके अलावा, local environment में आप Actions (क्रियाएँ) भी सेट कर सकते हैं—जिससे "सर्वर शुरू करना" या "टेस्ट रन करना" जैसी कमांड्स के लिए App में शॉर्टकट बटन बन जाते हैं, जिन्हें आप सीधे क्लिक कर सकते हैं।

💡 संक्षेप में: worktree में स्थानीय फ़ाइलें नहीं होतीं; इसके लिए setup स्क्रिप्ट (प्रोजेक्ट .codex फ़ोल्डर में सहेजी जाने वाली) का उपयोग करें ताकि आवश्यक डिपेंडेंसी स्वतः इंस्टॉल हो सकें।


06 अतिरिक्त फ़ाइलों का प्रबंधन और सुरक्षा

समानांतर में कई worktree बनाने पर वे हार्ड डिस्क पर जगह घेरते हैं, क्योंकि प्रत्येक में प्रोजेक्ट की सभी फ़ाइलें और डिपेंडेंसी होती हैं। इसके प्रबंधन के लिए Codex में सीमाएं होती हैं:

  • सभी worktree $CODEX_HOME/worktrees (आमतौर पर ~/.codex/worktrees) निर्देशिका में सहेजे जाते हैं।
  • डिफ़ॉल्ट रूप से, Codex नवीनतम 15 worktrees को सुरक्षित रखता है; इस सीमा को सेटिंग्स में बदला जा सकता है, या आप ऑटो-क्लीनअप को बंद भी कर सकते हैं।

Codex किन worktrees को सुरक्षित रखता है (हटाता नहीं है):

  • जो बातचीत पिन (pinned) की गई हो।
  • जिन सत्रों पर काम अभी चल रहा हो।
  • जो स्थायी (permanent) worktree हों।

निम्नलिखित स्थितियों में इन्हें हटा दिया जाता है:

  • सत्र को आर्काइव (archive) करने पर।
  • सीमा (15) पार होने पर पुराने worktrees को हटाया जाता है।

सुरक्षा के लिए स्नैपशॉट नियम:

किसी worktree को हटाने से पहले, Codex उसका एक स्नैपशॉट (Snapshot) सहेज लेता है। यदि आप बाद में उस बातचीत को दुबारा खोलते हैं, तो आप उसे रीस्टोर (पुनर्प्राप्त) कर सकते हैं।

यानी डेटा नष्ट होने का जोखिम नहीं रहता।

Codex के दो प्रकार के worktrees में अंतर:

Codex प्रबंधित worktree (डिफ़ॉल्ट)स्थायी (permanent) worktree
निर्माणसत्र शुरू होने पर Codex स्वतः बनाता हैप्रोजेक्ट साइडबार मेनू से मैन्युअल रूप से बनाया जाता है
सत्र संख्याआमतौर पर केवल एक सत्र से जुड़ा होता हैएक ही स्थान से कई सत्र शुरू किए जा सकते हैं
ऑटो-क्लीनअपसीमा पार होने या आर्काइव होने पर हटाया जाता हैकभी भी स्वचालित रूप से नहीं हटाया जाता
उपयोगअस्थायी कार्यों के लिएस्थायी विकास वातावरण के लिए

💡 संक्षेप में: worktrees ~/.codex/worktrees में सहेजे जाते हैं; डिफ़ॉल्ट रूप से 15 सुरक्षित रखे जाते हैं और पुराने होने पर स्नैपशॉट के साथ हटाए जाते हैं; अस्थायी काम के लिए डिफ़ॉल्ट और स्थायी काम के लिए स्थायी (permanent) worktree का उपयोग करें।


07 अभ्यास: Desktop App में Worktree सत्र चलाना

आइए Desktop App में Worktree सत्र चलाने का अभ्यास करें

इसके लिए एक Git प्रोजेक्ट की आवश्यकता होगी। यह Desktop App विशिष्ट अभ्यास है।

चरण 1: नया सत्र शुरू करें और Worktree चुनें

App में नया सत्र शुरू करें, इनपुट बॉक्स के नीचे Mode में Worktree चुनें, और शुरुआती ब्रांच (जैसे main) चुनें।

पुष्टि: स्क्रीन पर Mode: Worktree और चुनी गई ब्रांच दिखाई देगी।

चरण 2: एक सरल निर्देश दें

कोई भी साधारण कार्य सौंपें, जैसे: "इस प्रोजेक्ट की सभी markdown फ़ाइलों की सूची दिखाएं।"

अपेक्षित परिणाम: Codex चयनित ब्रांच के आधार पर एक worktree बनाएगा और काम शुरू करेगा। यह फ़ोल्डर ~/.codex/worktrees में होगा, जो आपके स्थानीय प्रोजेक्ट फ़ोल्डर से अलग है।

चरण 3: टर्मिनल में पुष्टि करें

सत्र के भीतर टर्मिनल खोलें (macOS पर Cmd + J), और चलाएं:

bash
git worktree list

अपेक्षित परिणाम: सूची में आपको मुख्य प्रोजेक्ट के अलावा .../.codex/worktrees/... का पथ दिखाई देगा, जो यह दर्शाता है कि आप पृथक वातावरण में हैं।

चरण 4: Handoff का परीक्षण करें

सत्र के शीर्ष पर Hand off पर क्लिक करें, और Local चुनें।

अपेक्षित परिणाम: सत्र स्थानीय वातावरण में आ जाएगा और आप अपने सामान्य एडिटर में बदलावों को देख पाएंगे। Git के कार्यों को Codex स्वतः संभाल लेगा।

चरण 5: साफ़ करना

अभ्यास के बाद सत्र को आर्काइव (archive) कर दें, जिससे संबंधित worktree स्वतः हटा दिया जाएगा और हार्ड डिस्क स्पेस खाली हो जाएगा।

💡 संक्षेप में: अभ्यास के चरण हैं—Worktree मोड चुनना → निर्देश देना → टर्मिनल में git worktree list से जाँच → Hand off द्वारा Local में लाना → सत्र आर्काइव करके फ़ोल्डर साफ़ करना


08 सारांश

इस लेख में हमने समानांतर काम करने और फ़ाइल टकरावों से बचने के लिए Worktrees के उपयोग को विस्तार से समझा है।

मुख्य बिंदुओं का सारांश:

विषयसाधनमुख्य बिंदु
समानांतर कामअलगाव की आवश्यकताएक ही प्रोजेक्ट में बिना टकराव के कई सत्र चलाना; क्रेडेंशियल्स साझा रहते हैं लेकिन फ़ाइलें स्वतंत्र होती हैं
नया सत्रWorktree मोडDesktop App में चयन; detached HEAD स्थिति; ब्रांच बनाने के लिए Create branch here
Git नियमएक समय में एक स्थानएक ब्रांच एक समय में केवल एक ही worktree में सक्रिय रह सकती है
सत्र स्थानांतरणHandoffLocal (फ़ोरग्राउंड) और Worktree (बैकग्राउंड) के बीच सत्र को स्थानांतरित करना; .gitignore फ़ाइलें नहीं जातीं
डिपेंडेंसीsetup स्क्रिप्टनए worktree में डिपेंडेंसी स्वतः इंस्टॉल करना ताकि कनेक्टिविटी एरर न आए
प्रबंधनऑटो-क्लीनअपडिफ़ॉल्ट रूप से नवीनतम 15 worktrees सुरक्षित रहते हैं; आर्काइव होने पर हटाए जाते हैं

अब आप यह कर सकते हैं: Worktree के महत्व को समझाना, Desktop App में सत्र शुरू करना, Git के नियमों और सीमाओं का ध्यान रखना, Handoff का उपयोग करना, setup स्क्रिप्ट द्वारा डिपेंडेंसी व्यवस्थित करना, और अतिरिक्त worktrees को साफ़ करना। यह समझ आपको बड़े प्रोजेक्ट्स पर सुरक्षित रूप से काम करने में मदद करती है।


अगला लेख [26 Git और GitHub इंटीग्रेशन]—इस लेख में हमने Git और ब्रांचेस की बात की, लेकिन यह अभी केवल स्थानीय स्तर तक ही सीमित था। अगले लेख में हम देखेंगे कि कैसे Codex से सीधे कमिट, पुश और PR (पुल रिक्वेस्ट) खोलकर बदलावों को GitHub पर भेजा जाता है।


अनुशंसित पठन