Gitじゃないバージョン管理、Jujutsuを使ってみた¶
- author:
sion908
- date:
2026/09/08
- event:
YokaTech #1
はじめに¶
QRコードを表示しながら、スライドの公開先を案内する。
ここでスライドは公開しています
(ちなみに自分のポートフォリオもここから飛べます)
お前誰よ¶
紫苑
Sion908(X、GitHub など) [1]
生息地(長崎、ぐんまー)
長崎大学大学院工学研究科電気電子工学 修了
株式会社デザイニウム
Webアプリケーション、3DCG、写真
高校教員免許(数学、工業)
NaITE、UE長崎、JAWS-UG長崎
株式会社デザイニウム¶
福島県会津若松市
MaaS,地域通貨を含む、都市OSの一端や、除雪クラウドなどのDX化などを行う
東京の拠点では、ARやXRも行っている
NaITE (長崎IT技術者会)¶
長崎になんらかの縁や関わり、興味があるIT技術者を中心とした技術コミュニティ
ソフトウェア品質技術やソフトウェア開発技術の話題を中心に活動
勉強会, もくもく会, QDG(Software Quality and Development Gathering), ToCセミナー
次回イベント: 2026.10.16(金) NaITE LT会 vol.3 〜話す、聞く、深める〜
JAWS-UG 長崎¶
Amazon Web Services(AWS)のユーザーグループ
AWSに興味がある方、初心者からエキスパートまで幅広い層が集まるコミュニティ
基礎的な内容から実践的な活用まで、参加者同士で知見を共有
Discordサーバーで継続的な交流
次回イベント: 2026/09/16(水) BuilderCards Naight
UE長崎¶
Unreal Engineと3D表現に興味を持つ人たちの長崎発クリエイティブ・コミュニティ
「島を繋ぎ、長崎を一つのクリエイティブ・ギルドへ」
UEやメタバース of 3D表現の技術を使って、長崎の島々をつなぐ
Webサイト: https://ue-ngs.sion908.tech
次回イベント: 2026.09.12(土) もくもく会 in AGORA 出島
今日はありがとうございます¶
自分も長崎でエンジニアのコミュニティがないということで、LT会などをやってました
アンラーニング¶
過去に正しかったやり方を、「今も本当に正しいのか?」と問い直すこと
claudeばかり、codexばかり...
セレンディピティ(Serendipity)¶
何かを探したり行動したりしている途中で、当初は狙っていなかった価値ある発見に出会うこと
単なるラッキーとは少し違います。重要なのは、偶然に出会ったものの価値に気づけることです。
Jujutsu(jj)¶
Gitと連携して使える、別のバージョン管理システム
今日は、jjを使っていて便利だと感じた「戻りやすさ」だけ紹介します。
SoftWareDesignにも取り上げられていました。
最近の開発¶
AIにコードを書いてもらうと、変更と試行錯誤が増えた
何パターンか試す
変更量が思ったより大きい
「さっきの状態に戻したい」が起きる
でも、コミットは後回しになりがち¶
Gitでありがちなこと
まだ途中だからコミットしない
AIの変更を確認してからにする
やっぱり前の状態に戻したい
そのとき思うこと
どこまで戻せばいい?
さっきの状態は残っている?
触るのが少し怖い
Jujutsuって?¶
Gitと連携して使える、別のバージョン管理システム
日本語の呪術からインスピレーションを得たそうです。
コマンド名は
jjGitリポジトリをバックエンドにできる
GitHubを使うチームでも、自分だけjjで作業できる
作業中の状態も履歴にある¶
jjでは、作業コピーがコミットとして扱われます
$ jj log
@ zuknkrqq sion908@example.com 99d8bddc
│ hello jj
◆ zzzzzzzz root() 00000000
@が、いま編集している作業コピーjjコマンド実行時に作業コピーの変更がスナップショットされる
「コミットする前だから何も残っていない」が起きにくい
操作そのものにも履歴がある¶
$ jj op log -n 3
@ 14d44624dfa0 now new empty commit
○ 4c79e66c77e9 now snapshot working copy
○ 288fea96c31b now describe commit
ファイルの履歴だけではない
jjに対して何をしたかも見える
間違えた操作を追いやすい
間違えたら jj undo¶
$ jj new
# あ、まだ新しい作業を始めるつもりではなかった
$ jj undo
直前の操作を戻せる
操作の履歴は
jj op logで確認できる試行錯誤するときの心理的コストが下がる
Gitのチームで自分だけjjを使える?¶
使えます。
チームはこれまでどおりGitとGitHubを使う
自分のローカル作業だけjjにする
pushしたコミットは、他の人には通常のGitコミットとして見える
ローカルでGitとjjの変更操作を混ぜすぎないのが安全
実際には、こういう作業が多い¶
PRを出して、レビューで修正する
PRを出す
jj git fetch
jj new main -m "feat: add login"
# ファイルを編集
jj bookmark create feat/login
jj git push -b feat/login
レビューで直す
jj edit feat/login
# ファイルを修正
jj git push
git addは不要bookmarkは、修正したコミットに追従する
GitHub上では、いつものPRとして扱える
まとめ¶
AIで変更と試行錯誤が増えた
だから「戻りやすい」ことがうれしい
jjはGitと連携しながら、個人の作業を楽にできる