इस प्रोजेक्ट के बारे में

gh stack एक GitHub CLI एक्सटेंशन है जो स्टैक्ड ब्रांच और पुल रिक्वेस्ट प्रबंधित करता है। स्टैक्ड PR एक बड़े बदलाव को छोटे, समीक्षा-योग्य पुल रिक्वेस्ट की श्रृंखला में विभाजित करते हैं जो एक-दूसरे पर आधारित होते हैं; यह टूल ब्रांच निर्माण को स्वचालित करता है, ब्रांच को रीबेस्ड रखता है, सही PR बेस ब्रांच सेट करता है, और परतों के बीच नेविगेशन करता है। इंस्टॉलेशन `gh extension install github/gh-stack` के माध्यम से किया जाता है और इसके लिए GitHub CLI v2.0+ आवश्यक है। AI कोडिंग एजेंट के लिए एक वैकल्पिक स्किल इंस्टॉल की जा सकती है। कोर मॉडल: एक स्टैक ब्रांच की एक क्रमबद्ध सूची है, प्रत्येक अपने नीचे वाली ब्रांच पर आधारित है, और सबसे नीचे वाली ट्रंक ब्रांच (आमतौर पर main) पर आधारित है। स्टैक मेटाडेटा स्थानीय रूप से `.git/gh-stack` में JSON के रूप में संग्रहीत किया जाता है, रीबेस स्थिति एक अलग फ़ाइल में होती है। कमांड में शामिल हैं: - init: एक स्टैक प्रारंभ करें, वैकल्पिक रूप से मौजूदा ब्रांच को अपनाएं, एक कॉन्फ़िगर करने योग्य ट्रंक के साथ। - add: स्टैक के शीर्ष पर एक नई ब्रांच बनाएं, बदलावों को स्टेज और कमिट करने के विकल्पों के साथ। - checkout: स्टैक नंबर, PR नंबर, PR URL, या ब्रांच नाम से एक स्टैक चेक आउट करें, जिसमें स्थानीय और रिमोट स्टैक के लिए एक इंटरैक्टिव पिकर शामिल है। - rebase: स्टैक में फ़ेच और कैस्केड रीबेस करें, downstack/upstack/no-trunk स्कोपिंग और continue/abort हैंडलिंग के साथ। - modify: ब्रांच को ड्रॉप, फोल्ड, इन्सर्ट, रीनेम और रीऑर्डर करने के लिए एक इंटरैक्टिव टर्मिनल UI। - sync: फ़ेच करें, रिमोट स्टैक को मिलाएं, ट्रंक को फास्ट-फॉरवर्ड करें, कैस्केड रीबेस करें, पुश करें, PR स्थिति सिंक करें, स्टैक लिंक करें, और वैकल्पिक रूप से मर्ज की गई ब्रांच को प्रून करें। - push: प्रति-ब्रांच force-with-lease जांच के साथ सक्रिय ब्रांच पुश करें। - submit: ब्रांच पुश करें और PR और GitHub स्टैक बनाएं या अपडेट करें, एक इंटरैक्टिव एडिटर या ऑटो मोड के साथ। - link: स्थानीय ट्रैकिंग के बिना ब्रांच नाम या PR नंबर से एक GitHub स्टैक बनाएं या अपडेट करें, अन्य स्थानीय ब्रांच टूल के साथ उपयोगी। - merge: एक या अधिक स्टैक्ड PR को all-or-nothing ऑपरेशन में मर्ज करें, मर्ज-मेथड विकल्पों और मर्ज-क्यू जागरूकता के साथ। - view: स्टैक ब्रांच, ऑर्डरिंग, PR लिंक, और हालिया कमिट प्रदर्शित करें, शॉर्ट और JSON आउटपुट के साथ। - unstack/delete: स्थानीय ट्रैकिंग और/या GitHub से एक स्टैक हटाएं। - नेविगेशन कमांड (up, down, top, bottom) वर्तमान स्टैक में ब्रांच के बीच ले जाते हैं। README में फ्लैग, उदाहरण, पूर्व शर्तें, और व्यवहार जैसे डाइवर्जेंस हैंडलिंग और मर्ज-क्यू इंटरैक्शन विस्तार से प्रलेखित हैं।