- लंबे समय से चली आ रही Git branch साफ़ करने की समस्या को हल करने के लिए एक सरल कमांड CIA के आंतरिक डेवलपमेंट दस्तावेज़ में मिला
git branch --merged | grep -v "\*\|master" | xargs -n 1 git branch -d
- यह कमांड
git branch --merged के नतीजों में से मौजूदा branch और master को छोड़कर merged branches को एक साथ delete कर देता है
- आधुनिक प्रोजेक्ट्स के लिए
main और develop branch को छोड़ने वाला संशोधित वर्ज़न भी है
- इसे Git alias के रूप में रजिस्टर करके बार-बार होने वाले काम को ऑटोमेट किया जा सकता है, और यह सरल होने के बावजूद लगातार work efficiency बढ़ाने और repository को साफ़ रखने के लिए उपयोगी टूल है
Vault7 में मिला Git टिप
- 2017 में WikiLeaks द्वारा जारी किए गए Vault7 दस्तावेज़ों में CIA के hacking tools और आंतरिक डेवलपमेंट दस्तावेज़ शामिल थे
- इनमें एक पेज Git tips और tricks के संग्रह का था, जिसमें ज़्यादातर सामान्य commit संशोधन, stash, और bisect के इस्तेमाल जैसे विषय थे
- उसी दस्तावेज़ में मिला यह one-liner कमांड आज तक मेरे
~/.zshrc में बना हुआ है
पुरानी branches साफ़ करने की समस्या
- लोकल Git repository में समय के साथ merged branches जमा होती जाती हैं, जिससे उन्हें व्यवस्थित रखना मुश्किल हो जाता है
- feature branch, hotfix, और experiment branch merge होने के बाद भी रह जाती हैं, जिससे
git branch की सूची उलझी हुई हो जाती है
git branch --merged कमांड से merged branches देखी जा सकती हैं, लेकिन मैन्युअल delete करना झंझट भरा है
CIA दस्तावेज़ का मूल कमांड
कमांड का आधुनिक वर्ज़न
- क्योंकि ज़्यादातर प्रोजेक्ट अब
main branch का उपयोग करते हैं, कमांड को इस तरह बदला जा सकता है
git branch --merged origin/main | grep -vE "^\s*(\*|main|develop)" | xargs -n 1 git branch -d
- deployment के बाद
main branch पर इसे चलाने से दर्जनों branches घटकर कुछ ही रह जाती हैं
- इस कमांड को Git alias के रूप में रजिस्टर करके आसानी से चलाया जा सकता है
alias ciaclean='git branch --merged origin/main | grep -vE "^\s*(\*|main|develop)" | xargs -n 1 git branch -d'
- इसके बाद repository में सिर्फ
ciaclean कमांड चलाने पर ऑटोमैटिक सफ़ाई हो जाएगी
efficiency और practicality
- यह कमांड हर हफ्ते कुछ मिनट बचाने और branch सूची को साफ़-सुथरा बनाए रखने में मदद करता है
- इसे एक सरल लेकिन लगातार productivity बढ़ाने वाला व्यावहारिक टूल माना गया है
अभी कोई टिप्पणी नहीं है.