gh-domino: अपने stacked Pull Requests को rebase करें
(github.com/134130)- GitHub पर stacked PRs को अपने-आप rebase करने वाला GitHub CLI extension टूल
- Graphite या stacked-pr जैसे शानदार टूल मौजूद हैं, लेकिन इन्हें शुरू से अपनाने की बाधा बहुत ज़्यादा है
- जैसे stacked PRs को git नहीं, बल्कि उन्हीं टूल्स के ज़रिए ही बनाना पड़ता है
- और local config files में options भी बहुत ज़्यादा होते हैं
- Zero-configuration और सिर्फ GitHub के PR फीचर्स से काम चलाने वाले एक बहुत सरल rebase टूल की ज़रूरत थी, इसलिए इसे सीधे खुद बनाया गया
उदाहरण
मान लीजिए इस तरह के stacked PRs मौजूद हैं:
- #102 (main <- stack-1)
- #103 (stack-1 <- stack-2)
- #104 (stack-2 <- stack-3)
PR #102 को main में merge करने के बाद, #103 और #104 PRs को rebase करना पड़ता है.
- सिर्फ दो PRs को rebase करना भी काफ़ी झंझट वाला काम है,
- और अगर #102 में अतिरिक्त commits जुड़ जाने जैसी वजहों से graph जटिल हो गया हो, तो common parent ढूँढने वाले git commands याद करना बेहद सिरदर्द बन जाता है
- साथ ही stacked PRs रोज़मर्रा में इस्तेमाल नहीं होते, बल्कि कभी-कभार ज़रूरत पड़ने पर ही उपयोग होते हैं, इसलिए इन्हें भूल जाना और भी आसान है
नीचे दिए गए commands से आसानी से rebase अपने-आप कराया जा सकता है:
gh domino --dry-run
gh domino [--auto]
ज़्यादा विस्तृत उदाहरण README.md में देखे जा सकते हैं.
2 टिप्पणियां
अरे, मुझे लगा था कि GitHub यह अपने-आप कर देता है, क्या ऐसा नहीं है?!
GitHub में मिलने वाले safe delete branch फ़ीचर का उपयोग करने पर base branch अपने-आप बदल जाती है, लेकिन squash merge के मामले में git history का संबंध नहीं होने से conflict की स्थिति बन जाती है!
इसके अलावा, safe delete का उपयोग किए बिना git से branch को सीधे delete करने पर भी base branch बदलनी पड़ती है, जो काफ़ी झंझट वाला है!