Skip to content

Project tabs

Project tabs represent each open folder, Git repository, and Git worktree.

Files outside your open projects open in Standalone Files. This separate tab sits at the left of the project tab bar. It does not replace a project tab or change project numbers.

Opening a project claims back the files that belong to it: any file sitting in Standalone Files that the project you just opened contains moves into that project tab, keeping your unsaved changes, undo history, cursor, and view exactly as they were.

Project tab bar layout

The project tab bar contains each project tab that you have open. You can drag a project tab to rearrange the order the tabs appear in. When the project tab bar is full, arrow buttons appear at the ends of the project tab bar for scrolling. A dropdown menu also appears to select a project tab.

Project header layout

The header of a project tab contains the following icons.

IconDescription
BranchBrowse, manage, and open branches and worktrees.
WorktreeFor worktrees, manages the current worktree’s source relationship and lifecycle.
PushFor a Git repository. Pushes local commits to the selected remote.
PullFor a Git repository. Pulls commits from the selected remote branch. Click the More pull options to fetch commits or select if commits merge or rebase.
PR/MRDisplays the current pull request or merge request for the current branch.
RefreshFetches from the remote and reloads all content tabs.
Repository actionsOpens less-frequent repository and Git actions.

Click the Repository actions icon to refresh the folder, open the File Browser, open an external terminal, copy the folder path, open Git Summary, or manage remotes.

Branch

You can view and create branches in the repository from the project tab header. Click the Branch control to open the Branch dropdown. Branches are separated into the current, favorites, local, and remote sections. The Branch dropdown lists if a branch is a local branch, a local worktree branch, or a remote branch. Click View branch details to open the selected branch in the Branches tab.

Click Name to sort branches by name. Click Activity to sort by latest activity. Use Search branches to find a branch by name. Click Filter branches to filter by worktree status (In a worktree or Not in a worktree) or location (Local or Remote-only).

Click a branch to perform the following actions.

  • Push: Push the commits of the local branch to the remote.
  • Show in Commits: Go to the latest commit on the selected branch in Commits.
  • Create Tag: Create a tag from the selected branch.
  • Compare with current branch: Compare the commits of the selected branch to the current branch.
  • Merge into current branch: Merge the commits of the selected branch to the current branch.
  • Switch branch: Switch to the selected local branch.
  • Check out and switch: Create and switch to a local copy of the selected remote branch.
  • Create worktree: Create a worktree of the selected branch.
  • View branch details: Open the selected branch in the Branches tab.

A merge that changes files starts only when no operation is in progress, tracked files have no uncommitted changes, and no untracked or ignored files are in the way. Otherwise Zide lists the blockers and offers the actions that can clear them, such as Open Staging or Stash Changes and Review. After a stash, Zide asks you to confirm the merge again.

Click New branch… to create a branch. Click New worktree… to create a worktree. Click Branches to open the Branches tab and click Worktrees to open the Worktrees tab.

For more information about Branches, see Branches.

Worktree dropdown

A worktree Project Tab replaces the Branch control with a singular Worktree control. Neutral styling means ordinary work is active, cyan means committed work is ready to merge into the repository’s default branch, amber marks a condition that needs attention, and red means the worktree folder is missing.

Open the control to view the Worktree branch, open its details in the Branches tab, merge newer commits from the default branch into the worktree, open Finish worktree…, or open the full Branches and Worktrees tabs.

The Finish dialog can merge the worktree branch into the branch currently checked out in the parent project, delete the worktree folder, and optionally delete the branch after removal. It shows the parent branch read-only, explains blockers and data-loss risks for each choice, and rechecks the repository state before changing anything.

For complete lifecycle and safety details, see Worktrees.

Conflict banner

When a merge, rebase, cherry-pick, or revert stops on a conflict, the Branch or Worktree control becomes a conflict banner. The banner names the operation and, when available, the branch, for example Merge: main or Rebase: feature.

The banner shows Resolve N files while files remain conflicted. Click it to show Staging. During a rebase it also shows Skip. When no conflicts remain, it shows Commit. It shows Continue instead for a rebase, and for a squash merge or a cherry-pick or revert without a commit, which leave the result staged for you to commit.

If a terminal or another tool checks out a different branch or detaches HEAD while an operation is paused, Git finishes the operation there. When Zide detects this, the banner keeps the operation’s branch and shows now on other or detached HEAD. The menu explains the change and its effect. Commit, Continue, and Skip ask you to confirm first. To go back, click Check out branch in the menu, or Detach HEAD for a rebase or an operation that started on a detached HEAD. Only HEAD moves. Files and staged changes stay unchanged. If the branch is unavailable, the menu shows why.

Click the operation label to open a menu headed Merge in progress, Rebase in progress, Cherry-pick in progress, or Revert in progress. It shows:

  • Current and Incoming: the branch, when there is one, and the commit for each side.
  • The comparison base: Merge base (or Merge bases), Replay base, Pick base, or Revert base.
  • Rebase target and available rebase progress.

Click a commit hash to open its details. At the bottom of the menu, Show in Staging opens Staging. The detail below the label shows how many files are still conflicted. To abort, click Abort merge…, Abort rebase…, Abort cherry-pick…, or Abort revert…, then confirm.

Abort restores files to the commit where the operation started. All changes in those files are discarded, including conflict resolutions. Unstaged changes in other files are kept. The confirmation names the starting commit and how many files are restored and kept. If HEAD moved after the operation started, for example because a commit was made during the merge, Zide does not abort and shows why. When Git runs the operation, for example a cherry-pick of several commits, Git performs the abort and the confirmation shows no file counts.

Push and pull

You can push, pull, and fetch changes from the project tab header. Click the Push icon to push recent changes you made to the remote branch. Click the Pull icon to pull changes from the remote branch to your local branch.

If the project has submodules, a pull also brings them to the commits it just recorded, and a short summary of that appears beside the buttons. See Submodules for what it does and does not move.

To fetch changes, click the More pull options icon and select Fetch. Then, click the Fetch icon to fetch changes from the remote branch to your local branch.

Click the More push options icon to push changes to a different remote, to include tags in a push, force push (with lease), force push (overwrite), or preview outgoing commits.

Click the More pull options icon to set the pull or fetch behavior to merge or rebase, pull or fetch from a different remote, or preview incoming commits.

If the project has submodules

Before pushing the project, Zide checks whether the required submodule commits are available on their remotes. This check can fetch from submodule remotes. If a commit is unavailable or cannot be checked, the project push stops. A dialog shows the affected submodules, their destinations, and their commits.

If Zide can push the submodules for you, the title is Push this submodule too? or Push these submodules too?. Continue pushes each submodule branch, then pushes the project. Cancel stops, and the project is not pushed.

If Zide cannot push all required submodules, the title is Cannot push this project. Each commit row shows a branch to push or a reason it cannot be pushed. Select Show in Submodules to review the affected submodules in the Submodules tab. See Submodules.

Work with project tabs

Click a project tab to switch between folders, repositories, and worktrees. Content tabs, split-pane layouts, scroll positions, and selections opened in the project tab remain open when you switch between project tabs.

Right-click a project tab to open options for it.

Switch project tabs from the keyboard

ShortcutAction
Ctrl+Alt+1Ctrl+Alt+9Switch to the first through ninth project tab.
Ctrl+Page Up / Ctrl+Page DownSwitch to the previous or next project tab.
Ctrl+Alt+`Open the project switcher in most-recently-used order.

Previous and next navigation wraps around at the ends of the project tab bar. In the project switcher, keep Ctrl held and press Tab or Shift+Tab to move through the list, then release Ctrl to switch. Press Esc to cancel.

Ctrl+1Ctrl+9 switches content tabs inside the current project. See Content tabs.

Close a project tab

Close a project tab using its close button, by middle-clicking it, from Close Tab in its right-click menu, or with File > Close Folder.

If the project or one of its worktrees has unsaved files, Zide lists them before closing. Choose Save & Close, Discard & Close, or Cancel. If a file cannot be saved, the project remains open with that file unsaved. The prompt also warns when closing would interrupt an active Zide Assist response.

Discard & Close is permanent. The listed edits are dropped, and reopening the project brings its files back as they are on disk. If Zide cannot record the discard, the project stays open with the files still unsaved rather than losing them.

Closing a repository also closes its worktree and submodule tabs. Zide identifies these related tabs before closing.

The right-click menu also provides Close Others, Close All, Close to the Left, and Close to the Right. These commands preserve parent-child relationships. When confirmation is required, choosing Cancel stops the entire close operation.

Reopen a closed project tab

To reopen the most recently closed project, press Ctrl+Alt+Shift+T, or right-click the project tab bar and click Reopen Closed Project Tab. Zide restores its split-pane layout, content tabs, worktrees, and submodules. Files reopen with their saved contents; unsaved edits you discarded on close are not restored.

Zide remembers the last 10 closed projects during the current session. The command is disabled when there is nothing to reopen, and projects whose folders are no longer available are skipped.

Reopening a worktree or submodule restores it beneath its repository. This history is separate from Reopen Closed Tab (Ctrl+Shift+T), which restores content tabs.