テック技報最新号へ →
コード

Jujutsu (jj): jj undo / jj op restore で、どんな操作も元に戻せる

jj はリポジトリへの操作をすべて「操作ログ(oplog)」に記録するので、rebase の失敗も、うっかり消したブランチも、操作前の状態に戻せる。Git リポジトリとの共存(colocate)もできる。

@oukayuka · 投稿 2026-01-25
#git#jujutsu#バージョン管理

手順

bash
jj git init --colocate     # 既存の Git リポジトリで jj を使い始める
jj undo                    # 直前の操作を取り消す
jj op log                  # 操作の履歴を一覧
jj op restore <op-id>      # 指定した操作の時点まで、リポジトリ全体を戻す
  • ファイルを保存した時点で作業コピーが自動でコミット扱いになるので、add 忘れ・stash の迷子が起きない。
  • force push が必要になる変更は、push の時点で弾かれる。

注意点

  • Git コマンドを直接使って壊したものも、jj が次に読み込んだ時点の状態から戻せることが多いが、jj 外の操作は記録されないので過信しない。
  • チームの他メンバーは Git のままでよい(push 先は普通の Git リモート)。

出典

X の元の投稿を開く