it.xnews.jp
出典: Lalit Maganti 原文公開: 2026-07-13 生成: 2026-07-14 読了 約 3 分 model: claude-haiku-4-5 原文: https://lalitm.com/post/git-history/ raw.md

git history コマンドはもっと注目される価値がある

git の実験的機能である git history コマンドは、2026 年 4 月と 6 月にリリースされた git 2.54 および 2.55 で導入され、3 つのサブコマンドを備えている。著者は、ワークフロー全体の切り替えを必要とせず jj で求められる利点の多くを提供することから、より注目に値すると主張している。

git history コマンドは、git 2.54(4 月、reword および split サブコマンド)と git 2.55(6 月、fixup サブコマンド)の 2 つのリリースにまたがって導入された実験的なコマンドである。リリース日には注目を集めたが、その後のコミュニティでの議論はほとんどないと見られる。

3 つのサブコマンド

git history には以下の 3 つのサブコマンドが実装されている。

アトミック性と安全性

3 つのサブコマンドに共通する最も重要な特性は、アトミック性である。すべてのコマンドは競合を生じさせる可能性のある操作を拒否することで、ツリーを半壊の状態に置き去りにすることはない。reword と split は純粋にコミットグラフで動作し、インデックスやワーキングツリーには決して触れない。

ただし git history はマージコミットの存在下では機能しない。ドキュメントには「この制限は設計上のものであり、履歴の書き換えはステートレス操作であることを意図している。制限は Git がファーストクラスの競合について学習した場合に解除できる」と述べられている。

jj との関係

著者は 1.5 年間にわたって約 3 ヶ月ごとに jj への切り替えを試みたが、git に戻る傾向にあるとしている。jj はしばしば並行 git ワークフローの問題の解決策として提案されるが、著者はその解決方法が自分には響かなかったとしている。

一方、「git history は jj の完全なギャップを埋めない。jj はまだオペレーションログと簡単な取り消し、ワーキングコピーをコミットとしてモデル化すること、およびリベース中に競合を伝達できることを提供し、これらはどれも実装を試みていない」と述べられている。

この記事は元記事の事実のみに基づいて自動生成されました。

筆者の見立て

出典

Lalit Maganti「The git history command deserves more attention」https://lalitm.com/post/git-history/

この記事をシェア