GitUI टर्मिनल में GUI जैसी सहजता देता है
- सिर्फ कीबोर्ड से तेज़ और सहज संचालन संभव
- हॉटकी याद रखने की ज़रूरत नहीं पड़ने वाली संदर्भानुसार सहायता उपलब्ध
- बदलावों की समीक्षा, commit, amend commit (hooks सहित: pre-commit, commit-msg, post-commit, prepare-commit-msg)
- फ़ाइल, hunk, line की staging, unstaging, revert और reset
- stashing (save, apply, drop, inspect)
- remote से push/fetch
- branch सूची (create, rename, delete, checkout, remote)
- commit log ब्राउज़/search, committed बदलावों का diff देखना
- responsive terminal UI
- सहज संचालन के लिए asynchronous git API
- submodule समर्थन
प्रेरणा
- टर्मिनल में ज़्यादातर git काम किए जाते हैं, लेकिन index, commit, diff, stash, blame, log जैसे कुछ उपयोग मामलों में अक्सर git GUI का उपयोग किया जाता है।
- बड़े repository में लोकप्रिय git GUI अक्सर अनुत्तरदायी हो जाते हैं या उपयोग लायक नहीं रहते।
- GitUI टर्मिनल के भीतर git GUI जैसा user experience और सहजता देता है, साथ ही यह portable, तेज़, मुफ़्त और open source है।
बेंचमार्क
- RustBerlin meetup प्रस्तुति में
lazygit, tig, gitui की तुलना करते हुए Linux git repository (जिसमें 9 लाख से अधिक commits शामिल हैं) को पूरा parse किया गया:
gitui: 24 सेकंड ✅, 0.17GB memory ✅, 1.4MB binary, freeze नहीं ✅, crash नहीं ✅
lazygit: 57 सेकंड, 2.6GB memory, 16MB binary, freeze होता है, कभी-कभी crash
tig: 4 मिनट 20 सेकंड, 1.3GB memory, 0.6MB binary ✅, कभी-कभी freeze, crash नहीं ✅
1.0 तक का रोडमैप
1.0 घोषित करने से पहले के उच्च-स्तरीय लक्ष्य:
- log tab में branch संरचना का visualization (#81)
- interactive rebase (#32)
ज्ञात सीमाएँ
- sparse repo समर्थन नहीं (#1226)
- GPG signing समर्थन नहीं (#97)
- git-lfs समर्थन नहीं (#1089)
- https की आवश्यकता वाले credential.helper को स्पष्ट रूप से सेट करना होगा (#800)
- फिलहाल यह टूल git shell का पूरी तरह विकल्प नहीं है, लेकिन दोनों टूल साथ में अच्छी तरह काम करते हैं।
gitui की प्राथमिकता उन सुविधाओं पर है जो git shell में करना असुविधाजनक होता है, जैसे stashing, line या hunk staging।
- अंततः
gitui को one-stop solution बनाया जा सकता है, लेकिन इसके लिए मदद की ज़रूरत है — अभी यह spare-time project है।
- हर तरह का समर्थन और sponsorship स्वागतयोग्य है! ❤️
इंस्टॉलेशन
- GitUI beta version में है और इसमें bugs तथा कुछ missing features हो सकते हैं। फिर भी व्यक्तिगत उपयोग के लिए यह काफ़ी स्थिर है और विकास के दौरान भी उपयोग में है।
- इसे विभिन्न package managers के माध्यम से install किया जा सकता है।
बिल्ड
- न्यूनतम समर्थित
rust/cargo संस्करण: 1.65
- openssl dependency build के लिए आवश्यकताएँ (https://docs.rs/openssl/latest/openssl/ देखें)
- पूरा test suite चलाने के लिए Python आवश्यक है (इसे
python के रूप में callable होना चाहिए)
cargo install gitui के माध्यम से gitui को build और install करना सबसे सरल है।
अक्सर पूछे जाने वाले प्रश्न (FAQs)
डायग्नॉस्टिक्स
- logging सक्षम अवस्था में
gitui -l चलाने पर logs रिकॉर्ड होते हैं।
रंग थीम
gitui light theme और dark theme वाले टर्मिनल, दोनों में अपने-आप काम करता है।
- आप सब कुछ अपनी पसंद के अनुसार customize कर सकते हैं।
की बाइंडिंग
- key bindings को customize किया जा सकता है।
प्रायोजन
प्रेरणा
lazygit, tig, GitUp आदि से प्रेरित।
- यह सोचना अच्छा होगा कि terminal tools में map view को कैसे उपलब्ध कराया जा सकता है।
GN⁺ की राय
- GitUI टर्मिनल पसंद करने वाले उपयोगकर्ताओं को GUI की सुविधा देते हुए तेज़ प्रदर्शन और कम memory usage प्रदान करता है। यह खासकर बड़े repository संभालते समय बहुत महत्वपूर्ण है।
- एक open source project के रूप में, यह developer community के समर्थन और योगदान के साथ लगातार विकसित हो रहा है, और उपयोगकर्ता feedback के आधार पर सुविधाओं में सुधार करता जा रहा है।
- GitUI ऐसा टूल है जो developers को terminal environment में भी git कार्य कुशलता से करने में मदद करता है, और खासकर कीबोर्ड संचालन के अभ्यस्त उपयोगकर्ताओं के लिए बहुत उपयोगी लगता है।
1 टिप्पणियां
Hacker News राय