Repolode
jj-vcs

jj-vcs/jj

Jujutsu (jj) は、作業コピーの変更をコミットとして記録し、すべての操作を追跡して取り消せる、Git互換のバージョン管理システムです。

スター
32,394
フォーク
1,279
未解決の Issue
1,249
最終コミット
6 時間前

これは何?

Jujutsuは、コードを取得して変更を追跡し、ほかの人に公開できるソフトウェアプロジェクト向けのバージョン管理システムです。コマンドラインツールの名前はjjです。デフォルトのストレージバックエンドはGitリポジトリを使用するため、任意のGitリモートからfetchしたり、そこへpushしたりでき、いつでもGitに戻せます。

Jujutsuでは作業コピーを実際のコミットとして扱うため、作業ツリーに未コミットの変更があってもコマンドが失敗せず、stashやステージングエリアも必要ありません。リポジトリに対するすべての操作は操作ログに記録されるため、ミスを取り消したり、過去の操作を元に戻したりできます。コンフリクトはワークフローを止めるのではなくコミット内に保存され、コミットを変更すると、その子孫は自動的にリベースされ、コンフリクトの解決内容も引き継がれます。

このプロジェクトは、revsetクエリや匿名ブランチなど、Git、Mercurial、Darcsの考え方を取り入れています。現在、本番環境で使えるのはGitバックエンドで、プロジェクトはまだ1.0以前のため、一部のワークフローやディスク上のフォーマットは今後変更される可能性があります。

主な機能

  • 01デフォルトのストレージとしてGitリポジトリを使用し、任意のGitリモートと連携できます。
  • 02作業コピーをコミットとして記録するため、ステージングエリアやstashは不要です。
  • 03リポジトリに対するすべての操作を記録し、過去の操作の取り消しや復元を可能にします。
  • 04コンフリクトをコミット内に保存し、子孫を自動的にリベースします。
  • 05履歴を書き換えるためのjj describe、jj diffedit、jj split、jj squashなどのコマンドを提供します。

ユースケース

  • 既存のGitリポジトリを使いながら、よりシンプルなワークフローを実現したい開発者。
  • 操作ログを使ってミスから復旧する必要があるチーム。
  • リポジトリをDropboxフォルダに置いたり、rsyncでバックアップしたりする際に、並行処理の安全性を確保したい場合。

クイックスタート

  1. 1

    READMEにリンクされている公式のインストール手順に従ってjjをインストールする

  2. 2

    公式チュートリアルに取り組み、基本を学ぶ

  3. 3

    jj help <command>で各コマンドの使い方を確認する

使う前に知っておきたいこと

  • READMEではJujutsuは実験的と説明されており、バグやユーザーインターフェースの変更が発生する可能性があります。
  • 本番環境で使用できる状態なのはGitストレージバックエンドのみで、他のバックエンドは対応していません。
  • READMEによると、このプロジェクトは比較的新しく、まだ多くの作業が残っています。
  • 安全な同時レプリケーションなど、一部の機能は実験的とされており、ストレージ形式が変更される可能性があります。

収録されている特集

トピック

よくある質問

jj とは?
Jujutsu (jj) は、作業コピーの変更をコミットとして記録し、すべての操作を追跡して取り消せる、Git互換のバージョン管理システムです。 Jujutsuは、コードを取得して変更を追跡し、ほかの人に公開できるソフトウェアプロジェクト向けのバージョン管理システムです。コマンドラインツールの名前はjjです。デフォルトのストレージバックエンドはGitリポジトリを使用するため、任意のGitリモートからfetchしたり、そこへpushしたりでき、いつでもGitに戻せます。
jj は無料で使えますか?ライセンスは?
jj は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
jj は今もメンテナンスされていますか?
活発にメンテナンス中。jj の最終コミットは 2026年11月7日 です。
jj は何に使えますか?
既存のGitリポジトリを使いながら、よりシンプルなワークフローを実現したい開発者。 操作ログを使ってミスから復旧する必要があるチーム。 リポジトリをDropboxフォルダに置いたり、rsyncでバックアップしたりする際に、並行処理の安全性を確保したい場合。
jj のインストール方法は?
READMEにリンクされている公式のインストール手順に従ってjjをインストールする 公式チュートリアルに取り組み、基本を学ぶ jj help <command>で各コマンドの使い方を確認する
jj はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/jj-vcs/jj

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト