jujutsu について
Git と共置したリポジトリで Jujutsu(jj)を使う開発者向けのバージョン管理スキルです。作業コピーをコミットとして扱う仕組みと、Git 操作に対応する jj コマンドを説明します。
主な機能
- 01Git から jj へのコマンド対応
- 02作業コピーとコミットのモデル
- 03ブックマークとリモート操作
- 04コマンドとワークフローの資料
活用シーン
- 01一般的な Git 操作を jj に置き換える
- 02変更とリビジョン履歴を確認する
- 03リポジトリの更新を取得または送信する
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ cryfs/ cryfs --skill jujutsuインストール後、Claude Code で/jujutsuを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
commands-reference.mdrevsets.mdworkflows.md詳細
Jujutsu(jj)バージョン管理ガイド
Jujutsu は、Git と互換性のある最新のバージョン管理システムです。このプロジェクトでは、Git と併用する形で jj を使用しています。
Git との主な違い
| 概念 | Git | Jujutsu |
|---|---|---|
| ステージングエリア | 明示的な git add | ありません。作業コピー自体がコミットです |
| ブランチ | 名前付き参照 | ブックマーク(書き換えに自動追従します) |
| スタッシュ | 独立したスタッシュスタック | 不要です。コミットを使います |
| 直前のコミットの修正 | git commit --amend | ファイルを編集するか、jj squash を使います |
| 識別子 | コミット ID のみ | 変更 ID(安定)+コミット ID |
基本コマンド
| タスク | コマンド |
|---|---|
| 状態の確認 | jj status または jj st |
| 差分の確認 | jj diff |
| ログの確認 | jj log |
| コミットして続行 | jj commit -m "message" |
| メッセージの更新 | jj describe -m "message" |
| 空のコミットの作成 | jj new |
| 親コミットへのスカッシュ | jj squash |
| 直前の操作の取り消し | jj undo |
| リモートからフェッチ | jj git fetch |
| リモートへのプッシュ | jj git push |
| ブックマークの作成とプッシュ | jj git push --named name=@ |
| 既存のブックマークのプッシュ | jj git push --bookmark name |
作業コピーの仕組み
作業コピー(@)は常にコミットです。ファイルの変更は自動的に追跡されるため、ステージングは不要です。
parent commit
↓
@ (working copy) ← your edits go here automatically
Git から Jujutsu への早見表
| Git | Jujutsu |
|---|---|
git status | jj st |
git diff | jj diff |
git log | jj log |
git add . && git commit -m "msg" | jj commit -m "msg" |
git push | jj git push |
git pull | jj git fetch の後に jj rebase -d main@origin |
git checkout -b branch | jj new main の後に jj bookmark set branch |
git branch | jj bookmark list |
git stash | jj new(新しいコミットを始めるだけです) |
git blame | jj file annotate |
参考資料
- commands-reference.md - コマンドの完全なリファレンス
- workflows.md - 一般的な開発ワークフロー
- revsets.md - リビジョン選択の構文
コメント
Markdown 対応