jj learn
jj(jujustu)是一个类似 Git 的版本控制系统,专注于代码和文档的版本管理。
初始化仓库
运行以下命令,将 jj 和 Git 仓库关联起来:
1 | jj git init --colocate |
跟踪分支
使用 jj track 跟踪 Git 分支:
1 | jj bookmark track <branch> |
显示日志
显示版本历史的命令:
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 | jj bookmark delete <branch> |
分割文件
使用 jj split 分割文件:
1 | jj split |
- 按空格选择
- 按
c提交
缺点
因为默认提交 所以会导致屏蔽文件时 需要先用git 移除
1 | git rm --cached <file> |