Show HN: Git-knife – commit संदेशों, लेखकों और तिथियों को स्प्रेडशीट की तरह संपादित करें
एक नया Tauri-आधारित tool git-knife users को Git commit metadata—messages, authors, और dates—को spreadsheet-जैसी table में edit करने देता है, साथ ही regex find-and-replace और automatic branch backups भी देता है ताकि file contents न बदलें. Commenters इस पर बहस करते हैं कि history rewrites को इतना आसान बनाना क्या बुरी practices को बढ़ावा देता है, लेकिन कई लोग गलत configured author emails ठीक करने, historical timelines पुनर्निर्मित करने, या साझा करने से पहले work-in-progress branches साफ़ करने जैसे वैध उपयोगों का हवाला देते हैं. यह project Git की complexity, friendlier history-editing tools की niche लेकिन वास्तविक ज़रूरत, और ऐसे utilities को जल्दी बनाने में LLMs की बढ़ती भूमिका पर व्यापक विचार भी जगाता है.
अवलोकन और मुख्य सुविधाएँ
- डेस्कटॉप ऐप (Tauri) जो commits को एक table में दिखाता है और users को message, author, और dates को स्प्रेडशीट की तरह edit करने देता है.
- बैच fixes के लिए regex find-and-replace का समर्थन करता है.
- branches का backup बनाता है और git-notes का उपयोग करता है;
git commit-treeके साथ commits को पुनर्निर्मित करता है, जबकि tree objects को reuse करता है ताकि file contents कभी न बदलें. - बाद के release में signed commits पर warning दी जाती है और rewritten commits को user की key से re-sign किया जा सकता है.
स्क्रीनशॉट्स और UX फीडबैक
- कई commenters ने README में screenshots को prominently रखने की इच्छा जताई ताकि लोग blindly clone न करें.
- शुरुआती screenshot hosting (Imgur) में mobile issues थे; बाद में इसे GitHub-hosted image से बदल दिया गया.
- कुछ लोगों को लगा कि screenshot monitor की photo जैसा दिखता है; दूसरों ने बताया कि वह transparent GNOME/Zorin window था, और metadata ने पुष्टि की कि वह एक वास्तविक screenshot था.
- TUI version और rebase-जैसी operations के लिए drag-and-drop UI की मांगें, जिनमें commits को reorder करना और यह edit करना शामिल है कि कौन-सी files किस commit से जुड़ी हैं.
Metadata संपादन के उपयोग
- कई commits में गलत author emails या identities को ठीक करना.
- push करने से पहले history साफ़ करना, जिसमें contributors के लिए credit corrections भी शामिल हैं.
- historical timelines को पुनर्निर्मित करना (जैसे timelines, laws, archival sources को scrape करना) जहाँ commit dates को वास्तविक दुनिया में बदलाव के समय को दर्शाना चाहिए.
- repositories को split करना, जबकि files के subsets के लिए सटीक author/date metadata सुरक्षित रखना.
- व्यक्तिगत “cosmetic” उपयोग, जैसे procrastination छिपाना या perceived work hours को समायोजित करना.
चिंताएँ और सीमाएँ
- कुछ लोगों का तर्क है कि इससे खतरनाक history rewriting बहुत आसान हो जाती है; दूसरों के लिए यह local cleanup या archival work के लिए उपयोगी लेकिन तेज़ धार वाला “knife” है.
- ध्यान दें कि multi-author signed histories व्यावहारिक रूप से अपरिवर्तनीय हैं; unsigned history को संभावित supply-chain risk माना जाता है. यह tool मुख्यतः single-author या WIP branches के लिए सबसे उपयुक्त माना गया है.
मौजूदा Git workflows और tools के साथ संबंध
git rebase -iसे तुलना और अंतर बताया गया, जिसे कुछ लोग पहले से ही commit editor जैसी spreadsheet मानते हैं.git-filter-repoऔरgit-reviseजैसे alternative tools का उल्लेख अधिक advanced या अलग rewrite workflows के लिए किया गया.
मेटा: LLMs और tooling
- LLMs की role पर एक tangential चर्चा कि वे छोटे utilities और documentation बनाने में कैसे मदद करते हैं.
- कुछ लोगों ने niche tools और one-off scripts को संभव बनाने के लिए LLMs की प्रशंसा की; दूसरों को docs में “LLM-speak” और code में noisy AI-generated comments पसंद नहीं आए.