What You’ll Learn
- How workspace isolation prevents conflicts
- How git worktrees enable isolation
- Difference between Base Workspace and Workspaces
- Creating, switching, and managing workspaces
- Best practices for workspace management
What is Workspace Isolation?
Workspace Isolation ensures that changes from one task never affect another. Try different approaches in parallel, compare results, and selectively rebase only the changes you want back into the main branch.How It Works
| Layer | How It Works |
|---|---|
| Directory | Each workspace is an isolated directory |
| Branch | Each workspace has its own branch checkout |
| Files | File changes in one workspace don’t affect others |
| Staging | Each workspace has its own staging area |
Benefits
Zero Interference
Parallel agents can’t conflict, physically impossible
Safe Experimentation
Try risky changes without affecting stable code
Clear Comparison
Use git diff to compare approaches across workspaces
Selective Rebasing
Only rebase results you trust
Base Workspace vs Workspaces
Base Workspace
The Base workspace is your original repository checkout, serving as the default starting point.| Characteristic | Description |
|---|---|
| Location | Your original git clone or init location |
| Primary Branch | Typically on master or development branch |
| Reference Point | Source for comparing experimental work |
- Quick changes that don’t need isolation
- Reference point for comparing experimental work
- When you want changes to go directly to the main branch
- Simple tasks where parallel execution isn’t needed
Workspace
A Workspace is an isolated working environment created using git worktrees, with its own independent branch checkout and file state. When to Use a Workspace:- Parallel feature development
- Experimenting with risky changes
- Working on multiple tasks simultaneously
- When you want isolation before rebasing
Creating and Managing Workspaces
Creating a New Workspace
| Platform | Shortcut |
|---|---|
| macOS | Cmd+Shift+N |
| Windows | Ctrl+Shift+N |
- Verdent creates an isolated git worktree directory
- A new branch is created (or existing branch checked out)
- The workspace is fully isolated from other workspaces
- Workspace appears in All Workspaces in the top bar
Switching Between Workspaces
| Action | macOS | Windows |
|---|---|---|
| Next Workspace | Ctrl+Tab | Ctrl+Tab |
| Previous Workspace | Ctrl+Shift+Tab | Ctrl+Shift+Tab |
| Select Workspace | Click All Workspaces in the top bar | Click All Workspaces in the top bar |
- Verdent keeps all workspace states alive
- Switch instantly without setup delay
- Full context preserved when switching
Rebasing Workspace Changes
When you’re ready to integrate workspace changes back to the main branch:Using Verdent UI
1
Complete Work
Complete work in the workspace
2
Review Changes
Click Task Changes in the middle panel to review all modifications
3
Rebase to main branch
Click Workspace Actions → Rebase to main branch in the Workspace Bar
4
Resolve Conflicts
Resolve any conflicts if prompted
5
Verify
Review changes before confirming
Keeping Workspaces Updated
Use Workspace Actions → Sync with main branch to pull the latest changes from the main branch into your workspace. This helps prevent large conflicts when rebasing.Best Practices
Naming Conventions
| Practice | Example |
|---|---|
| Descriptive names | feature-auth, bugfix-123, experiment-caching |
| Include ticket numbers | JIRA-456-user-login |
| Keep names short | Avoid overly long names |
Workspace Maintenance
| Practice | Why |
|---|---|
| Delete rebased workspaces | Free up disk space |
| Remove abandoned experiments | Keep workspace list manageable |
| Keep workspace count reasonable | System resources are finite |
Git Hygiene
| Practice | Why |
|---|---|
| Commit frequently | Commit work in progress before switching |
| Small commits | Smaller commits are easier to cherry-pick |
| Sync with base regularly | Don’t let workspaces diverge too far from the main branch |
| Reduce conflict complexity | Regular integration prevents large conflicts |
FAQs
How much disk space does each workspace use?
How much disk space does each workspace use?
Each workspace duplicates working files but shares the
.git directory. Space usage roughly equals your project size per workspace. Large projects with many parallel workspaces will use significant disk space.Can I delete a workspace?
Can I delete a workspace?
Yes. Delete the workspace through Verdent. This removes the directory but preserves any committed work on the branch.
What happens to uncommitted changes if I delete a workspace?
What happens to uncommitted changes if I delete a workspace?
Uncommitted changes are lost when a workspace is deleted. Always commit or stash changes before removing a workspace.
Can I convert a workspace to the base workspace?
Can I convert a workspace to the base workspace?
No direct conversion, but you can rebase all changes from the workspace to the main branch, then delete the workspace. The branch history is preserved.
Do worktrees work with all git hosting services?
Do worktrees work with all git hosting services?
Yes. Git worktrees are a standard git feature. They work with GitHub, GitLab, Bitbucket, and any other git hosting service.