Files
2025-11-29 18:24:50 +08:00

4.2 KiB

name, description, allowed-tools
name description allowed-tools
Exploring Operation History in Jujutsu Help users explore operation history and time travel in jj. Use when the user explicitly mentions 'operation log', 'op log', 'jj op', or 'operation history'. Covers jj op log, --at-op flag, op restore, and operation exploration. Bash(jj op log:*), Bash(jj op show:*), Bash(jj op restore:*), Bash(jj op diff:*), Bash(jj log --at-op:*), Bash(jj status:*), Bash(jj diff --at-op:*), Read(*/jj-operations/*.md)

Exploring Operation History in Jujutsu

Overview

The operation log is your safety net. Every repository-modifying command is recorded with complete snapshots, allowing full time travel and recovery.

Key insight: Each operation contains metadata (timestamp, user, command) plus a snapshot of all commit states, bookmarks, and repository structure.

When to Use Operation Log

Use operation log when:

  • You need to understand what you've been doing
  • You want to find a specific past state
  • You need to recover from complex mistakes
  • You're debugging unexpected repository state
  • You want to see history of changes to a commit

Don't use operation log when:

  • You just need to undo the last operation (use jj undo from jj-undo skill)
  • You're looking at commit history (use jj log)
  • You want to see file changes (use jj diff)

Core Capabilities

1. Viewing Operations (Read-Only)

Browse operation history and see what changed.

Commands: jj op log, jj op show, jj op diff

When to use: You want to understand what operations happened, what they changed, or compare repository states.

📚 See detailed docs: viewing-operations.md

2. Time Travel (Read-Only)

View the repository at any past operation without modifying current state.

Commands: --at-op flag with jj log, jj status, jj diff, etc.

When to use: You want to explore past states, compare with current state, or find the right operation to restore.

📚 See detailed docs: time-travel.md

3. Restoring to Past Operations

Jump the entire repository back to a specific operation state.

Commands: jj op restore <op-id>

When to use: You found the right past state and want to return to it, recovering from complex mistakes.

📚 See detailed docs: restoring-operations.md

4. Common Patterns & References

Operation references (@, @-), common workflows, best practices.

When to use: You need quick reference or want to learn common patterns.

📚 See detailed docs: operation-patterns.md

Quick Command Reference

Viewing

jj op log                  # Show operation history
jj op show <op-id>         # Show operation details
jj op diff --from <a> --to <b>  # Compare operations

Time Travel (read-only)

jj log --at-op=<op-id>     # View commit history at operation
jj status --at-op=<op-id>  # View working copy at operation

Restoring

jj op restore <op-id>      # Jump to specific operation
jj op restore @-           # Go back one operation (= jj undo)

Integration with Undo

Relationship: Operation log is the foundation, undo is a convenience.

  • jj undo = jj op restore @- (restore to parent operation)
  • jj undo twice = jj op restore @-- (go back 2 operations)

When to choose each:

  • Quick recent mistake → jj undo (see jj-undo skill)
  • Need to skip multiple operations → jj op restore
  • Not sure which operation → Explore with --at-op, then restore

Progressive Disclosure

This skill uses progressive disclosure to manage context efficiently:

  1. Start here for overview and quick reference
  2. Read detailed docs when you need specific guidance:
    • viewing-operations.md - How to browse and understand operation log
    • time-travel.md - How to explore past states without changing anything
    • restoring-operations.md - How to restore to past operations and recover
    • operation-patterns.md - Common patterns, references, and best practices

Claude will automatically load the relevant detailed documentation when helping you with specific operation log tasks.

Remember

Operation log is your time machine. Everything is recorded, everything is explorable, everything is restorable. You can't lose work in jj.