CLI Reference · Current
Local stash
Temporarily record supported staged and tracked working-tree changes in the current repository.
A stash is not a backup
Stash is an alpha convenience workflow with no remote copy or general conflict resolver. Keep an independent backup before pushing, popping, dropping, or clearing important work.
Syntax
dits stash [ACTION] [OPTIONS]
Actions:
push | save Save supported local changes (default action)
pop Apply a stash and remove its list entry
apply Apply a stash without removing its list entry
list List stash entries
show Show paths recorded by a stash
drop Remove one stash entry
clear Remove every stash entry
Options:
-m, --message <MESSAGE> Message for push/save
-i, --index <N> Numeric entry index for pop/apply/show/dropExamples
# Save; push is optional because it is the default
dits stash push --message "WIP grade"
dits stash
dits stash list
dits stash show --index 0
dits stash apply --index 0
dits stash pop --index 0
dits stash drop --index 1
dits stash clearIndex 0 is the newest entry. The parser accepts a numeric --index; it does not accept Git-style stash@{N} operands.
Current limits
- There is no pathspec selection,
--keep-index, untracked or ignored-file switch, branch creation, expiration policy, or patch mode. showlists recorded paths and stash metadata; it does not produce a full diff.- Apply and pop restore recorded paths directly. They do not perform a three-way content merge or offer a conflict-resolution UI.
- Drop and clear remove entries from the stash list. Dits does not promise a supported recovery command for removed entries.
Do not use fsck as stash recovery
dits fsck verifies the bounded repository integrity contract. It has no --unreachable recovery mode and cannot recreate a dropped stash entry for you.See file commands and local history for related workflows.