Skip to content

查看状态

查看仓库状态

运行 hjhj log,可以查看当前仓库的大致状态。这些好看的输出是 jj 提供的!🫡

log

让我们来解释一下:

  • 左侧的图标表示当前提交的类型。

    • @ 表示工作副本提交,这在 Git 中大致相当于 暂存区 + 工作区,但在 hj 中被视作一个提交。你在项目中做的修改会被记录在这个提交中;hj commit 所做的事是给当前工作副本提交提供一个描述信息使其变为普通提交,并在它之上新建一个新工作副本提交。

    • 表示普通提交。

    • 表示不可变提交。

  • 图标右侧依次是 变更 ID、作者、提交时间、提交 ID。

    • 变更 ID 相比于提交 ID 更加「稳定」,不会因为提交的变基等操作而被改变。因此你应当优先使用变更 ID 来引用一个提交。

    • 变更 ID 和提交 ID 都是哈希值。带颜色的(紫色和蓝色)字符能够唯一表示这个提交或变更。例如,我们可以使用 q6 来标识当前提交。

TIP

当提交较多时,你会发现 hj log 不会显示所有提交,而是只显示较近的几个。你可以用 hj log -r :: 或 hj 封装的便捷命令 hj all 来查看所有提交。

查看工作副本状态

刚才我们提到了工作副本是 jj 中的一个关键概念。你可以使用 hj statushj st 来查看当前工作副本的状态:

status

查看提交内容

刚才我们提到了如何引用一个提交,现在让我们运用所了解的内容,来查看一个提交的具体状态:

sh
hj show k

show

这里给出了提交的详细信息,包括提交 ID、变更 ID、书签、作者、提交者、提交描述信息和具体的变更。

除了用变更 ID 或提交 ID 来引用一个提交,你也可以使用 @ 来引用当前工作副本提交,使用 @- 来引用当前工作副本的父提交。更多的引用方式可以参考 Revset Language