安装

下载发布版本的预构建二进制文件

可以从 最新发布版本页面 下载适用于 Windows、Mac 或 Linux 的预构建二进制文件(”musl” 版本应适用于所有发行版)。

使用 Cargo Binstall 安装

如果你使用 cargo-binstall,可以通过以下命令从 GitHub 安装最新发布版本的 jj 二进制文件:

  1. # 默认将最新版本的 jj 安装到 ~/.cargo/bin
  2. cargo binstall --strategies crate-meta-data jj-cli

如果不加 --strategies 选项,你可能会获得等效的二进制文件,这些文件应该也是从相同的源代码编译的。

注意 如果你想安装 预发布版本,需要使用下方的其他安装方式。


Linux 安装

从源码构建

首先确保你的 Rust 版本 >= 1.84,并通过以下命令安装 build-essential

  1. sudo apt-get install build-essential

然后执行以下任一命令:

  1. # 安装 main 分支的 *预发布* 版本
  2. cargo install --git https://github.com/jj-vcs/jj.git --locked --bin jj jj-cli

或:

  1. # 安装最新发布版本
  2. cargo install --locked --bin jj jj-cli

Arch Linux

可以从 官方 extra 仓库 安装 jujutsu:

  1. pacman -S jujutsu

也可以使用 AUR 辅助工具AUR 仓库 安装:

  1. yay -S jujutsu-git

NixOS

在 NixOS 上,你可以使用 nixpkgs 中的 jujutsu 包 安装 发布版本

  1. nix profile install nixpkgs#jujutsu

要安装 预发布版本,可以使用项目的 flake:

  1. # 运行 main 分支中的 jj
  2. nix run 'github:jj-vcs/jj'

或者将 flake 安装到用户 profile:

  1. # 安装 main 分支中的预发布版本
  2. nix profile install 'github:jj-vcs/jj'

Homebrew

如果你使用 Homebrew,可以运行:

  1. # 安装最新发布版本
  2. brew install jj

Gentoo Linux

dev-vcs/jj 可通过 GURU 仓库获得。 如何启用 GURU 仓库请参考 这里

同步 GURU 仓库后,你可以使用 Portage 安装:

  1. emerge -av dev-vcs/jj

openSUSE Tumbleweed

jujutsu 可从官方 openSUSE-Tumbleweed-Oss 仓库安装:

  1. zypper install jujutsu

Mac 安装

从源码构建

确保 Rust 版本 >= 1.84,并执行:

  1. xcode-select --install

然后运行以下任一命令:

  1. # 安装 main 分支的 *预发布* 版本
  2. cargo install --git https://github.com/jj-vcs/jj.git --locked --bin jj jj-cli

或:

  1. # 安装最新发布版本
  2. cargo install --locked --bin jj jj-cli

Homebrew

  1. brew install jj

MacPorts

你也可以通过 MacPorts jujutsu port 安装:

  1. sudo port install jujutsu

Windows 安装

确保 Rust 版本 >= 1.84,然后运行以下任一命令:

  1. # 安装 main 分支的 *预发布* 版本
  2. cargo install --git https://github.com/jj-vcs/jj.git --locked --bin jj jj-cli

或:

  1. # 安装最新发布版本
  2. cargo install --locked --bin jj jj-cli

也可以使用 winget 安装:

  1. # 通过 winget 安装最新版本
  2. winget install jj-vcs.jj

初始配置

你可能希望设置用户名和邮箱,以便提交时使用:

  1. jj config set --user user.name "Martin von Zweigbergk"
  2. jj config set --user user.email "martinvonz@google.com"

命令行自动补全

要启用命令行补全功能,可以通过 jj util completion bash/zsh/fish 命令的输出进行配置。不同 shell 的配置方法不同。

jj 还支持改进版的自动补全,可补全书签、别名、版本、操作记录和文件路径,支持上下文感知。例如支持 --repository--at-operation 等全局参数,也支持部分命令的参数如 --revision--from--to

要启用改进版补全,请使用如下 “dynamic” 模式,仅激活一种方式。相关问题请参见 clap 项目 issue #3166

Bash

  1. source <(jj util completion bash)

或:

  1. source <(COMPLETE=bash jj)

Zsh

  1. autoload -U compinit
  2. compinit
  3. source <(jj util completion zsh)

或:

  1. source <(COMPLETE=zsh jj)

Fish

注意 如果你使用的是 fish >= 4.0.2,默认已启用动态补全,无需额外配置。

  1. jj util completion fish | source

或:

  1. COMPLETE=fish jj | source

Nushell

标准方式:

  1. jj util completion nushell | save completions-jj.nu
  2. use completions-jj.nu * # 或使用 source completions-jj.nu

Xonsh

  1. source-bash $(jj util completion)

PowerShell

将以下命令添加到 $PROFILE 文件中(通常是 $HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1):

  1. Invoke-Expression (& { (jj util completion power-shell | Out-String) })