Documentation Index
Fetch the complete documentation index at: https://docs.byterover.dev/llms.txt
Use this file to discover all available pages before exploring further.
Understanding Branches
Web app: The ByteRover web dashboard currently supports the
main branch only. Multi-branch support in the web app is coming soon. In the CLI and TUI, all branching features are fully available now.- Feature branches: Experiment with new domain structures or context reorganization
- Team branches: Each team member curates context independently, then merges
- Release branches: Maintain a stable context baseline while developing new content
List Branches
View the branches in your context tree.- CLI
- TUI
* in the output. Remote-tracking branches (shown with -a) appear as origin/<branch-name>.
Flags
| Flag | Default | Description |
|---|---|---|
-a, --all | false | Include remote-tracking branches in the listing |
Create a Branch
Create a new branch from the current HEAD. The new branch points to the same commit you’re currently on.- CLI
- TUI
Creating a branch does not switch to it. Your working tree stays on the current branch. Use
vc checkout to switch.Error Handling
| Error | Cause | Solution |
|---|---|---|
BRANCH_ALREADY_EXISTS | A branch with that name already exists | Choose a different name, or delete the existing branch first |
INVALID_BRANCH_NAME | The branch name contains invalid characters | Use valid branch name characters (alphanumeric, /, -, _, .) |
Switch Branches
Switch your working tree to a different branch. This updates all context tree files to match the target branch’s latest commit.- CLI
- TUI
Create and Switch in One Step
Use the-b flag to create a new branch and immediately switch to it. This is the most common way to start working on a new branch.
- CLI
- TUI
vc branch feature/new-context followed by vc checkout feature/new-context.
Force Switch
If you have uncommitted changes that would conflict with the target branch, the checkout will fail with anUNCOMMITTED_CHANGES error. Use --force to discard those changes and switch anyway.
- CLI
- TUI
Flags
| Flag | Default | Description |
|---|---|---|
-b, --create | false | Create a new branch and switch to it |
--force | false | Discard uncommitted changes and force the switch |
Error Handling
| Error | Cause | Solution |
|---|---|---|
BRANCH_NOT_FOUND | The target branch doesn’t exist | Check available branches with vc branch |
UNCOMMITTED_CHANGES | You have uncommitted changes that conflict | Commit your changes first, or use --force to discard them |
BRANCH_ALREADY_EXISTS | Using -b but the branch already exists | Omit -b to switch to the existing branch |
Delete a Branch
Remove a branch you no longer need. This deletes the branch pointer only — the commits it pointed to are preserved in the history.- CLI
- TUI
Error Handling
| Error | Cause | Solution |
|---|---|---|
CANNOT_DELETE_CURRENT_BRANCH | You’re currently on this branch | Switch to another branch first with vc checkout |
BRANCH_NOT_MERGED | The branch has commits not merged into the current branch | Merge the branch first with vc merge, or verify you no longer need those commits |
BRANCH_NOT_FOUND | The branch doesn’t exist | Check the name with vc branch |
Set Upstream Tracking
Link your current local branch to a remote-tracking branch. This enablesvc status to show ahead/behind counts and allows vc pull/vc push to work without specifying the remote and branch.
- CLI
- TUI
Merge a Branch
Merge another branch into your current branch. This incorporates all the commits from the source branch into your current branch.Basic Merge
- CLI
- TUI
Merge with Custom Message
Provide a custom message for the merge commit instead of the default:- CLI
- TUI
Merge Unrelated Histories
When merging branches that share no common ancestor (e.g., importing context from a completely separate space), Git-Semantic will refuse the merge by default. Use the--allow-unrelated-histories flag to override:
- CLI
- TUI
Merge Outcomes
A merge can result in one of three outcomes:| Outcome | Description | What Happens |
|---|---|---|
| Already up to date | The source branch has no new commits | Nothing changes |
| Fast-forward or clean merge | No conflicts between the branches | A merge commit is created automatically |
| Conflict | Both branches modified the same files | Merge pauses — you must resolve conflicts manually |
Flags
| Flag | Description |
|---|---|
-m, --message | Custom merge commit message |
--abort | Cancel the current merge and restore the previous state |
--continue | Complete the merge after resolving conflicts |
--allow-unrelated-histories | Allow merging branches with no common ancestor |
--abort and --continue are mutually exclusive — you cannot use both in the same command.Error Handling
| Error | Cause | Solution |
|---|---|---|
MERGE_CONFLICT | Conflicting changes in both branches | Resolve conflicts and run vc merge --continue |
MERGE_IN_PROGRESS | A merge is already underway | Complete it with --continue or cancel with --abort |
NO_MERGE_IN_PROGRESS | Tried --continue/--abort with no active merge | Nothing to continue or abort |
UNRELATED_HISTORIES | Branches have no common ancestor | Add --allow-unrelated-histories flag |
Resolve Merge Conflicts
When a merge produces conflicts, the merge pauses and waits for you to manually resolve them. Conflicts occur when both branches modified the same part of the same file.Check merge status
Confirm the merge state and see which files are affected:Status will show that a merge is in progress and list unmerged paths.
- CLI
- TUI
Edit the conflicting files
The status output lists unmerged paths and files with conflict markers.
Open each conflicting file and resolve the conflict markers. A typical conflict looks like:To resolve:
- Decide which content to keep (or combine both)
- Remove the conflict markers (
<<<<<<<,=======,>>>>>>>) - Save the file
Abort a Merge
If you want to cancel a merge entirely and restore the state before the merge started:- CLI
- TUI