Your site is the project’s main line: it is what Production publishes. A branch is a separate copy of your site for trying changes. AI tools use developer words for the same things: Your site is
main. See Branches and AI tools.Branches work on projects connected to GitHub too. One difference: an environment that shows a Hiveku branch cannot publish from GitHub at the same time. See Git Panel.
The Branches tab
The Branches tab in the editor shows your site as a map: a card for Your site, a card for each branch, and the environments strip at the top. Select a card to open its side panel, with its versions, reviews and actions.- The header holds Refresh, Branch settings (see Branch settings), New branch, and Waiting for review · n while reviews are waiting.
- Each card says where the branch stands, for example Latest changes (changes that are not in a version yet), Serves Development, Preview running, No changes yet or when it last changed. Your site’s card says “Publishes to your live site”.
- A card says In review while a review of it is open, and “Your site has n newer versions” when Your site has moved on since the branch started. Click that to bring them into the branch.
The branch selector
The branch selector sits at the right end of the chat panel’s top row, across from the project menu. It shows the branch you are working on and switches everything in the editor to that branch:- The file tree and every open file
- The live preview (each branch gets its own preview, see Branch previews)
- The AI chat, so edits from a chat turn land on the branch you are looking at
- The Database panel, which shows the shared project database with a note explaining that data is not branched
While the AI is replying, you cannot switch branches, so the reply finishes on the branch it started on. While you edit visually, leave visual editing first.
Start a branch
New branch in the selector or the Branches tab opens the dialog:- Branch name: letters, numbers, dots, dashes, underscores and slashes (for example
redesign-2026orfeature/new-hero), up to 200 characters. It cannot bemain, a name already in use, or start withqueue/, which the merge line keeps for itself. - Branch from: Your site or any branch.
- Description (optional): “Shown in the Branches tab so your team knows what the branch is for.”
Switch branches
Pick a branch in the selector, or click Work here on its card. Hiveku saves your latest changes as a version first (“Saved automatically before switching branches”). If a file has unsaved edits, it asks: “Switching to branch closes this file. Save your edits on other first, or discard them.” with Stay on other, Discard and switch and Save and switch.A branch’s side panel
Select a branch’s card to see:- Description: what the branch is for (“Say what this branch is for, so your team knows at a glance.”). Add or Edit it at any time.
- Linked tasks and Feedback: tasks and feedback the work on this branch is for.
- Its versions, newest first, with See all n versions (see Versions).
- Its reviews, and Ask for a review.
- Its menu (⋯): Save as a version (when there are changes to save), Start live preview (or Open live preview once it runs), Start a branch from this one, Delete branch. Leave feedback on this branch is in its Feedback section.
Versions on a branch
A branch keeps its own versions: saved when you pause, before steps you may want to undo, and when you click Save as a version. Roll a branch back to any of its versions from its side panel. Project history restores Your site only. On a branch, go back with the branch’s own versions. Images and uploads are shared by every branch, so versions do not hold them.Branch previews
Each branch gets its own live preview, separate from the preview of Your site.- Switching to a branch starts its preview. A card shows each step (preparing files, installing dependencies, compiling the first page). A first start usually takes about a minute, and can take up to twenty minutes on a larger project. If it does not start in time, the card offers Start preview.
- The preview is marked ready only after the branch’s files have landed in it, so what you see is the branch, not a starter scaffold.
- Saves on the branch sync to its preview the same way saves on Your site sync to its preview.
- A preview that has been idle for an hour is stopped. Switching back to the branch starts it again. You can also stop it yourself with Stop preview in the branch menu.
- A project can run up to five previews at a time, branch previews and previews of single versions together: “This project already has five previews running. Stop one from the Branches tab to start another.”
Environments: which branch each one shows
Pick a branch for Development or Staging in the environments strip at the top of the Branches tab, or with Show “branch” on Development in a branch’s side panel. Its Shows list changes the environment straight away, and the environment ships that branch on its next Deploy:
Development now shows "spring-sale". Deploy Development to put it there. Each environment says when it was last deployed and which version it runs; Production says which version visitors see. If an environment is set to a branch that has since been deleted, the strip says so and offers to move it back to Your site.
The Deploy button in the top right knows which branch you are on:
- On Your site, with no environment set to a branch, every environment deploys Your site as it always has.
- On a branch, Development and Staging offer Deploy “branch” to Development, or Show “branch” on Development and deploy if that environment still shows Your site, or Move Development from “other” to “branch” and deploy if it shows another branch. Hiveku asks before it moves an environment off Your site.
- Production offers Ask for a review to bring the branch into Your site, or Open the review if one is already waiting. It never deploys a branch.
One database per project
Files are versioned; data is not. Every branch and every tier reads and writes the same project database, and uploaded assets in the Media library are shared across branches too. On a branch, the Database panel shows the development connection with a banner that reads: “One database for this project. Files on branch are versioned; the data you see here is the same on every branch and every tier.” This means a migration you run while working on a branch changes the database that production reads. Test schema changes against a copy of your data, or keep them additive until the branch is merged.Content stays on Your site
The CMS works on Your site only.- On a branch, the CMS panel is read-only and shows “Content lives on main. You are working on branch. Switch to main to edit content.” with a Switch to main button.
- Visual editing works on a branch through the branch’s preview: start the preview, and visual editing opens once it is ready. On a branch, Undo in the visual editor stops at a section change (moving, swapping, duplicating, adding or removing a section, including moves in the Navigator): “Undo stops at a section change made on this branch. Put earlier edits back from the code editor or discard the branch.”
Move changes that are not live yet to a branch
When Your site holds edits that are not live yet and you want them out of the way, Move changes that are not live yet to a new branch (in Your site’s menu) moves them: “Find edits that are not live yet and move them to a new branch. Your site then matches what visitors see.” Name the New branch name and click Move to the new branch. A branch that Development or Staging shows has the same action, Changes not live yet. When there is nothing to move, it says “Nothing to move.” The branches this makes start withpending/ (from Your site) or stash/ (from an environment). They hold moved work, so they are read-only: “This branch holds moved changes and cannot be edited directly. Merge it, or start a new branch from it.” They are not in the selector and do not open in the editor.
Delete a branch
Delete branch in a branch’s menu asks: “Delete branch? Work that exists only on this branch stops being reachable, and a later storage clean-up can discard it.” The branch’s latest changes are saved as a version first, and its previews stop. When it is gone:Branch "spring-sale" deleted.
A branch cannot be deleted while:
- Development or Staging shows it: move the environment to Your site or another branch first;
- a review from it, or into it, is open: merge or close the review first.
pending/ or stash/ branch is the only copy of work that was moved off an environment, so deleting one asks again: Discard it anyway or Keep it.
After a merge
When a review merges, its branch is archived: it leaves the Branches list, takes no changes, and can be restored for 30 days, after which it is deleted. The merged review says “Branch archived. Restore it until date.” with a Restore button:Restored. "spring-sale" is back on the Branches list.
A branch is kept instead of archived when:
- the review was set to Keep this branch after merging;
- Development or Staging shows it;
- another open review still uses it;
- it was merged into a branch that was started from it;
- it is the site’s auto-fix branch, where fixes for feedback on Your site land;
- new changes were saved to it while the merge ran, so new work is never archived.
Edits to an archived branch
If you were still editing a branch when it was archived, the editor holds your unsaved edits instead of losing them: “Unsaved edits to file on archived branch “branch"", with Restore and save (bring the branch back and save them), Copy text, or Discard.Who can use branches
The selector, the Branches tab and branch actions follow the Websites › Deployments permission:- View shows branches, versions, reviews and the merge line.
- Manage starts, edits and deletes branches, saves versions, rolls back, chats with the AI on a branch, shows a branch on an environment, starts previews, and works with reviews and the merge line.
- Changing Branch settings needs an owner or admin.
Limits
Python (server) projects and external sites have no Branches tab, and always publish Your site.
Where to next
- Versions: save, find and roll back versions on Your site and every branch.
- Reviews and merging: ask for a review, comment, approve, resolve conflicts and merge.
- The merge line and branch settings: merge reviews in order, with checks, and the three site rules.
- Branches and AI tools: how Hiveku AI and outside AI tools work with branches.
Common questions
Does switching branches change my live site?
Does switching branches change my live site?
No. Switching changes what you see in the editor. Visitors see Your site as it was last published, and that changes only when you publish. Development and Staging change only when you set them to a branch and deploy.
Where did my branch go after the merge?
Where did my branch go after the merge?
It was archived. Open the merged review and click Restore within 30 days to bring it back to the Branches list. To keep a branch when its review merges, turn on Keep this branch after merging (in Edit review) before you merge.
Can I edit a branch's content in the CMS?
Can I edit a branch's content in the CMS?
No. Content lives on Your site. Switch to Your site to edit content.
Do branches get their own database?
Do branches get their own database?
No. One database per project, shared by every branch and tier.
What happens to my latest changes on a branch when I deploy?
What happens to my latest changes on a branch when I deploy?
They are saved as a version first, named after the deploy, and that version is what ships. Nothing you saved is left behind.
Why is the branch selector missing?
Why is the branch selector missing?
The selector appears for members who can manage deployments (Websites › Deployments: Manage). Ask an account admin. Python projects and external sites have no branches.
Can I delete a branch that Development is showing?
Can I delete a branch that Development is showing?
Not directly. Set Development back to Your site (or to another branch) first. The prompt after a merge does this for you when you choose to delete the branch.
Can I rename a branch?
Can I rename a branch?
No. Start a new branch from it with Start a branch from this one, and delete the old one when you are done.