お久しぶりです。
JGです。
バージョン管理ツールと言えば皆さんGitだと思いますが、今回は新たなバージョン管理システムであり、最近話題になりつつあるJujutsuについて簡単に話をしたいと思います。
初めに
Jujutsuが公に広まったのは3~4年前です。
下記にも書いてある通りに、Jujutsuにはコミットを保存するためのバックエンドが2つあり、そのうちの1つは通常のGitリポジトリを使用するためにGitと互換性があります。
通常のGitリポジトリを使用することで、Jujutsuを使用していることを他の人から知られることなく作業ができます。
https://docs.jj-vcs.dev/latest/git-compatibility/
良い点
次に個人的にJujutsuの良い点4つを紹介したいと思います。
一つ目は競合が起きても、コミットできる点です。
Gitの場合は競合が発生した場合、競合を解決してコミットする必要があります。
Jujutsuの場合は競合はコミットに記録され、後から解決できるというメリットがあります。
詳細な内容を知りたい方は、下記をお読みいただければ幸いです。
https://docs.jj-vcs.dev/latest/conflicts/
二つ目はjj undoで元に戻せる点です。
Jujutsuの操作の操作ログにはリポジトリ全体の状態が記録されているためで、git reset –hardを実行しても簡単に戻すことができます。
jj undo繰り返し使用すると、より古い操作を復元し、過去に遡り復元できます。
またjj op logで過去の操作ログを確認できます。
https://docs.jj-vcs.dev/latest/git-experts/#undo-is-more-powerful-than-using-the-reflog
https://docs.jj-vcs.dev/latest/cli-reference/#jj-undo
三つ目はワーキングコピーは自動的にコミットされる点です。
これはほとんどのjjコマンドを実行すると、作業コピーに変更があればその変更がコミットされるためです。
結果として作成されるリビジョンは、以前の作業コピーのリビジョンを置き換えます。
https://docs.jj-vcs.dev/latest/git-comparison/
https://docs.jj-vcs.dev/latest/working-copy/
四つ目はJujutsuはブランチなしで作業できる点です。
これは作業中コミットが常に存在するためです。
ブックマークがGitでいうブランチに相当するものです。
JujutsuはGitリポジトリを操作する際に、ブックマークをGitブランチにマッピングします。
https://docs.jj-vcs.dev/latest/git-comparison/
https://docs.jj-vcs.dev/latest/bookmarks/
環境構築
次にWindowsでの環境構築の手順を説明します。
1.こちらのURLからjj-v0.38.0-x86_64-pc-windows-msvc.zipを解凍する
https://github.com/jj-vcs/jj/releases/tag/v0.38.0
2.1で解凍したjj.exeをディレクトリにアップする
3.Windowsの環境変数を設定する
4.下記を実行し、バージョンが返ってくればok
jj --version5.下記コマンドを実行し、設定を行う
jj config set --user user.name "ユーザー名を指定"
jj config set --user user.email "メールアドレスを指定"最後に
簡単ではありますが、Jujutsuについて紹介しました。
機会があれば、より詳細な記事も書きたいと思います。
今回はこれで失礼します。