Git-knife - Edit commit metadata like a spreadsheet
Show HN: Git-knife – edit commit messages, authors, and dates like a spreadsheet
Git-knifeは、コミットメッセージ、著者名・メール、著者日付、コミッター日付などをスプレッドシートのように編集できるデスクトップGUIです。既存のGUIツールでは日付の編集や一括置換が難しい中、Git-knifeは全フィールドを安全に書き換えられます。バックアップ機能やプレビュー、正規表現による一括置換も搭載。Gitのネイティブコマンドを利用し、ファイル内容は絶対に変更されません。
Git履歴を思い通りに整形できる、コミットメタデータ編集のためのクリーンなGUI。
HNでの議論
101- NichoPaolucci
「決してgitを再実装するわけではない——システムのgit CLIにシェルアウトして、git commit-treeでコミットを再構築し、各コミットの元のツリーを再利用するので、ファイルの内容が決して変更されないことが証明できる。」
LLMがこれに言及してくれてよかった——gitを再実装するのではないかと心配していた。
- Defletter
これは、面白いことに、私が約10年間定期的に探し求めていたもので、昨日も検索を再開したばかりだ。疑問に思っている人のために言うと、私のユースケースはモデル議会(コンテキスト: https://news.ycombinator.com/item?id=43474850)で、法律をgitに保存し、コミットを議会の法律そのものを表すものとして使うことを決めている。問題は、すべてのコミットが正しいメタデータを持つことを保証する必要があることだ。コミットハッシュの保存にはまったく関心がない。そして、誤って法律を1つ見逃して、それをインタラクティブリベースでgit履歴に組み込む必要がある場合、後続のすべてのコミット日付を現在のタイムスタンプにリセットすべきではない。基本的に、gitを歴史的なアーカイブとして使いたいのだ。これを見つけられて嬉しい。
- lrvick
注意: これは、複数の作者からの署名付きコミットを使用するリポジトリでは機能せず、機能することはできません。
署名付きgit履歴は不変であり、署名なしgit履歴はサプライチェーン攻撃のベクトルです。
とはいえ、PRの前にクリーンアップを行う単一作者のWIPブランチには有用だと思います。
- iamcoder18
これはクールですが、コミットの作者や日付を書き換える必要があった人はいますか?
- beart
スクリーンショットが誰かのモニターの実際の写真のように見えます。なぜプリントスクリーンを使わなかったのか不思議に思います。そして、なぜかこのプロジェクトに触れたくなくなります。
- unqueued
git-notesを使用し、独自の名前空間にバックアップブランチを作成している点は評価します。もう少し軽量だとよかったのですが。
言及されているのを見かけませんが、https://github.com/mystor/git-revise をチェックしてみてはいかがでしょうか。
- mellosouls
うーん、これは通常やるべきではないことを簡単にしているように思えます。
- jauntywundrkind
最近の2つのスレッドで、git rebase -iを賞賛し、特にスプレッドシートに結び付けました。これが登場するのを見るのは素晴らしく、偶然の一致のように感じます!
Git rebase -iはそれほど怖くない
119ポイント、16日前、151コメント
https://news.ycombinator.com/item?id=49053385
https://cachebag.sh/journal/interactive-rebasing/
git addでパッチをステージングする
34ポイント、12日前、52コメント
https://news.ycombinator.com/item?id=49048570
https://cachebag.sh/journal/interactive-rebasing/
最近jjを本当に楽しんでいますが、git rebase -iスプレッドシートは依然として大きな勝者です。それをさらに拡張し、傾倒していくのが最高です。