The Staging Workflow
Git-Semantic uses the same two-step workflow as Git: stage changes first, then commit them. This gives you control over exactly what goes into each commit.- Working tree: The current state of your context tree files on disk
- Staging area: A snapshot of changes queued for the next commit
- Commit history: The permanent record of all committed snapshots
Check Working Tree Status
See what has changed in your context tree since the last commit. This is usually the first command you run to understand the current state.- CLI
- TUI
What Status Shows
The output includes several sections:Stage Changes
Add files to the staging area to include them in the next commit. Only staged changes are included when you runvc commit.
Stage All Changes
- CLI
- TUI
. stages everything — all modified, deleted, and new (untracked) files in the context tree.
Stage Specific Files
- CLI
- TUI
Default Behavior
When no paths are provided,vc add defaults to staging everything (equivalent to vc add .).
Paths are relative to the context tree root. You can stage individual files, multiple files, or entire directories.
Create a Commit
Save staged changes as a new commit with a descriptive message. Each commit is an immutable snapshot of your context tree at that point in time.- CLI
- TUI
Commit Message
The-m flag is required — every commit needs an explicit message. There is no auto-generated commit message.
Write messages that describe what changed and why:
What a Commit Records
Each commit stores:Requirements
- Author configured: Both
user.nameanduser.emailmust be set viavc config - Something staged: At least one file must be in the staging area
Error Handling
View Commit History
Browse the commit log to see what has changed over time.- CLI
- TUI
Log Entry Fields
Each entry in the log includes:Arguments & Flags
Error Handling
Unstage Files
Remove files from the staging area without discarding the actual changes. The files remain modified in your working tree.- CLI
- TUI
git reset (without --soft or --hard) — it only affects the staging area, not your working tree.
Undo Commits
Roll back commits using--soft or --hard reset. Both move HEAD to a previous commit, but they differ in what happens to your changes.
Soft Reset
Moves HEAD back but keeps all changes staged. The changes from the undone commit(s) remain in the staging area, ready to be re-committed.- CLI
- TUI
- Re-writing a commit message (soft reset, then commit again with a new message)
- Combining multiple commits into one (soft reset several commits, then commit once)
- Removing a commit but keeping the work
Hard Reset
Moves HEAD back and discards all changes. Your working tree and staging area are reset to match the target commit.- CLI
- TUI
- Completely undoing a bad commit
- Resetting to match the remote state after a failed merge
- Starting over from a known good state
Comparison
--soft and --hard are mutually exclusive — you cannot use both in the same command.