jj(jujustu) Notes

jj learn

jj(jujustu)是一个类似 Git 的版本控制系统,专注于代码和文档的版本管理。


初始化仓库

运行以下命令,将 jj 和 Git 仓库关联起来:

1
jj git init --colocate

跟踪分支

使用 jj track 跟踪 Git 分支:

1
2
3
jj bookmark track <branch>
# 示例:
jj bookmark track main@origin

显示日志

显示版本历史的命令:

1
jj log

或者直接运行:

1
jj

查看更改

查看当前工作目录和索引的更改:

1
jj st

查看工作目录和索引的差异:

1
jj diff

如果需要 Git 风格的差异显示:

1
jj diff --git

提交更改

提交更改到本地库:

1
jj commit -m "your commit message"

分配分支

jj 使用 bookmark 来分配分支,类似于 Git 的 branch

1
jj bookmark create <branch> -r <target>

创建新的空工作区

创建一个新的空工作区:

1
jj new <name>

编辑描述

编辑当前工作区的描述:

1
jj describe -m <description>

更新当前工作区的描述:

1
jj describe -u

解决冲突

使用 jj rebase 进行变基:

1
jj rebase -b <branch> -d <target>

解决冲突:

1
jj resolve

压缩提交

压缩提交的命令:

1
jj squash --from <source> --into <target>

显示远程分支

1
jj git remote list

删除远程分支

删除远程分支的命令:

1
2
jj bookmark delete <branch>
jj git push --bookmark <branch>

分割文件

使用 jj split 分割文件:

1
jj split
  • 按空格选择
  • c 提交

缺点

因为默认提交 所以会导致屏蔽文件时 需要先用git 移除

1
git rm --cached <file>