Skip to content

Subtrees

The Subtrees tab manages git subtrees — external repositories embedded as subdirectories in your project. It can appear as a mode within Git Settings or as a standalone content tab.

Subtree List

Each subtree is displayed as a card showing:

  • Prefix — the directory path in your repository
  • Remote URL and last merge commit hash
  • Action buttons — Pull, Push, Split

Adding a Subtree

Click Add Subtree to open the dialog. Enter the remote URL, prefix (directory name), and branch to pull from.

Subtree Operations

ActionEffect
PullMerge updates from the remote into the subtree prefix
PushPush subtree commits to the remote as a branch
SplitExtract the subtree’s history into a separate branch

If the remote URL isn’t known for a subtree, you’ll be prompted to enter it when pulling or pushing.

Overflow Menu

The more button on each subtree card provides:

  • Edit Remote URL — update the stored remote URL
  • Remove Subtree — delete the subtree directory with a commit

Remote URL associations are stored in .git/info/subtree-remotes.

Conflict State

During merge or rebase conflicts, subtree operations are disabled. Resolve conflicts in the Changes tab first.