You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/butler-flow.mdx
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: Butler Flow
3
-
description: Discover Butler Flow, a lightweight branch-based development workflow that improves upon GitHub Flow with GitButler's virtual branches.
3
+
description: Discover Butler Flow, a lightweight branch-based development workflow that improves upon GitHub Flow with GitButler's parallel branches.
4
4
---
5
5
6
6
Butler Flow is a lightweight, branch-based workflow enabled by GitButler's virtual branch functionality.
@@ -26,26 +26,26 @@ In a nutshell, the basic development cycle is very simple.
26
26
27
27
In stock, vanilla Git tooling, there is nothing specified as the production branch, no special "trunk". It is only by convention that this is enforced.
28
28
29
-
In GitButler, virtual branches will not work without the specification of a special "target branch". Everything exists in relation to this special branch, everything that differs from it must be accounted for by being owned by some other branch, until those changes are integrated.
29
+
In GitButler, branches will not work without the specification of a special "target branch". Everything exists in relation to this special branch, everything that differs from it must be accounted for by being owned by some other branch, until those changes are integrated.
30
30
31
-
### Virtual Branches
31
+
### Parallel Branches
32
32
33
33
Once you choose a target branch, everything that is in your working directory and not ignored by the Git Ignore specification must be owned by a virtual branch. If you don't have one active, GitButler will automatically create one for you.
34
34
35
35
All subsequent changes to your working directory, either by applying other branches or directly modifying files, must be owned by a virtual branch.
36
36
37
37
Branches are meant to be small, independent and rapidly integrated. However, longer lived branches can be continuously re-integrated, keeping them clean and mergeable for long periods of time if needed, while still being shareable and reviewable with your team.
38
38
39
-
Virtual branches can be started and ended entirely independently of each other. Developers can work on longer branches, while starting, reviewing, finishing, merging, and deleting small ones without ever changing branch context.
39
+
Parallel branches can be started and ended entirely independently of each other. Developers can work on longer branches, while starting, reviewing, finishing, merging, and deleting small ones without ever changing branch context.
40
40
41
41
### Collaboration
42
42
43
-
All your team's work, whether created and managed by GitButler or not, exists on the central server as normal Git branches. These will automatically be pulled down and kept up to date by GitButler and can be converted into virtual branches and applied to your working directory in addition to your branches.
43
+
All your team's work, whether created and managed by GitButler or not, exists on the central server as normal Git branches. These will automatically be pulled down and kept up to date by GitButler and can be converted into parallel branches and applied to your working directory in addition to your branches.
44
44
45
45
This allows you to integrate work from the rest of your team continuously and early, while still keeping non-dependent changes separated and independently reviewable and mergable. It allows you to review code without needing to entirely switch contexts, and to do so early and often in an executable environment.
46
46
47
47
Merge conflicts are known almost as soon as they occur and can be communicated about and collaborated on far before an upstream merge.
48
48
49
49
### Maintenance
50
50
51
-
Virtual branches can remain applied locally until they are merged into your upstream target branch. Once integrated by any fashion (squash merge, rebase, merge), the virtual branch is automatically disposed of, keeping cruft and overhead low.
51
+
Parallel branches can remain applied locally until they are merged into your upstream target branch. Once integrated by any fashion (squash merge, rebase, merge), the virtual branch is automatically disposed of, keeping cruft and overhead low.
Copy file name to clipboardExpand all lines: content/docs/features/ai-integration/cursor-hooks.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Cursor Hooks
3
3
description: Set up Cursor hooks to automatically manage commits and branches when using GitButler with AI coding in Cursor.
4
4
---
5
5
6
-
GitButler integrates seamlessly with Cursor through hooks that automatically manage your commits and branches while you're using AI coding features. This allows you to automatically maintain clean git history and organized virtual branches.
6
+
GitButler integrates seamlessly with Cursor through hooks that automatically manage your commits and branches while you're using AI coding features. This allows you to automatically maintain clean git history and organized parallel branches.
7
7
8
8
Here's a short video showing how GitButler works with Cursor hooks:
Copy file name to clipboardExpand all lines: content/docs/features/branch-management/branch-lanes.mdx
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
2
title: Branches Page
3
-
description: Manage virtual branches, remote branches, and workspace targets in GitButler's branch management interface.
3
+
description: Manage parallel branches, remote branches, and workspace targets in GitButler's branch management interface.
4
4
---
5
5
6
6
importImageSectionfrom"@/components/ImageSection"
7
7
8
-
All of your branches - remote, local, and virtual / applied or not - are managed in the Branch Tab. This is where you can see all of your branches, apply them to your workspace, and manage your virtual branches.
8
+
All of your branches - remote, local, and virtual / applied or not - are managed in the Branch Tab. This is where you can see all of your branches, apply them to your workspace, and manage your parallel branches.
9
9
10
10
You can access the Branches tab by clicking on the "Branches" icon in the sidebar.
11
11
@@ -21,9 +21,9 @@ The interface looks something like this:
21
21
22
22
## Branch List
23
23
24
-
The first pane on the left shows you the virtual branches and stacks that you have as well as the other branches that you have available (legacy git branches, remote branches and PRs).
24
+
The first pane on the left shows you the parallel branches and stacks that you have as well as the other branches that you have available (legacy git branches, remote branches and PRs).
25
25
26
-
All of these branches can be converted into virtual branches by clicking them and then clicking the "Apply to workspace" button on the top of the branch view (middle pane).
26
+
All of these branches can be converted into parallel branches by clicking them and then clicking the "Apply to workspace" button on the top of the branch view (middle pane).
Copy file name to clipboardExpand all lines: content/docs/features/branch-management/merging.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,7 @@ description: Learn GitButler's approach to rebasing and conflict resolution that
5
5
6
6
importImageSectionfrom"@/components/ImageSection"
7
7
8
-
By default, GitButler rebases the work on your virtual branches when you update your target branch (upstream) work.
8
+
By default, GitButler rebases the work on your parallel branches when you update your target branch (upstream) work.
9
9
10
10
Often this works just fine and the commits are simply rebased. Occasionally, you will have conflicts with upstream work.
11
11
@@ -31,7 +31,7 @@ In this case, when you perform the rebase, that branch will then contain "confli
31
31
subtitle="When your commits have conflicts"
32
32
/>
33
33
34
-
When you click that, GitButler will remove the other virtual branches and other work from your working directory and check out just this commit with its conflict markers. It will show you a special "edit mode" screen, where you are directly editing this commit.
34
+
When you click that, GitButler will remove the other parallel branches and other work from your working directory and check out just this commit with its conflict markers. It will show you a special "edit mode" screen, where you are directly editing this commit.
Copy file name to clipboardExpand all lines: content/docs/features/branch-management/stacked-branches.mdx
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,16 +42,16 @@ approve and merge a subset of commits from the PR.
42
42
Utilizing stacked pull requests, means that the sub-tasks of a larger change are in their own PRs.
43
43
This way it is possible to approve and merge the initial part of a stack (e.g. a refactor) while still iterating on the remaining sub-tasks.
44
44
45
-
## Comparison to Virtual Branches
45
+
## Comparison to Parallel Branches
46
46
47
-
Stacking and Virtual Branches are similar in that they allow you to separate code changes / commits into different branches. In both cases,
47
+
Stacking and Parallel Branches are similar in that they allow you to separate code changes / commits into different branches. In both cases,
48
48
the changes are available in your working directory.
49
49
50
-
The main difference is that Virtual Branches are **independent** from one another, while stacked branches **depend** on the ones that come before it.
50
+
The main difference is that Parallel Branches are **independent** from one another, while stacked branches **depend** on the ones that come before it.
51
51
Because of this, the two features are not mutually exclusive but rather complementary. For example a bugfix change that is unrelated to a feature
52
52
can be put in a separate virtual branch. On the other hand, a change that depends on a previous change can be put in a stacked branch above the one it depends on.
53
53
54
-
In fact GitButler implements stacked branches as Virtual Branches that are split into multiple dependent branches.
54
+
In fact GitButler implements stacked branches as Parallel Branches that are split into multiple dependent branches.
55
55
56
56
<ImageSection
57
57
className="mx-auto"
@@ -63,7 +63,7 @@ In fact GitButler implements stacked branches as Virtual Branches that are split
63
63
64
64
## Workflow
65
65
66
-
By default, virtual branches in the app are simply stacks of one.
66
+
By default, parallel branches in the app are simply stacks of one.
67
67
With version `0.14.0` or newer you can create a new dependent branch within a lane by clicking the `+` button above the branch name.
68
68
69
69
> The workflow below assumes a GitHub remote. If you are using a different forge, you can still use this functionality but will need to manually create/update the Pull/Merge Requests
Copy file name to clipboardExpand all lines: content/docs/features/branch-management/upstream-integration.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
---
2
2
title: "Upstream Integration"
3
-
description: Handle upstream commits and merge them into your virtual branches when collaborators push to the same remote branch.
3
+
description: Handle upstream commits and merge them into your parallel branches when collaborators push to the same remote branch.
4
4
---
5
5
6
6
Sometimes you work on a branch and someone else pushes to the same upstream branch. Often you won't know this until you try to push and Git tells you something like this:
Copy file name to clipboardExpand all lines: content/docs/features/branch-management/virtual-branches.mdx
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,17 +1,17 @@
1
1
---
2
-
title: Virtual Branches
3
-
description: Understanding GitButler's virtual branches that allow simultaneous work on multiple branches in a single working directory.
2
+
title: Parallel Branches
3
+
description: Understanding GitButler's parallel branches that allow simultaneous work on multiple branches in a single working directory.
4
4
---
5
5
6
6
importImageSectionfrom"@/components/ImageSection"
7
7
8
-
Virtual branches are a powerful feature of GitButler that allow you to work on multiple branches at the same time, committing to them independently and simultaneously. This is a key part of the GitButler experience, allowing you to manage your work in a flexible and efficient way that is not possible with traditional Git tooling.
8
+
Parllel branches are a powerful feature of GitButler that allow you to work on multiple branches at the same time, committing to them independently and simultaneously. This is a key part of the GitButler experience, allowing you to manage your work in a flexible and efficient way that is not possible with traditional Git tooling.
9
9
10
10
## Overview
11
11
12
12
With normal Git branching, you can only work on one branch at a time. There is one `HEAD` reference and one index.
13
13
14
-
With virtual branches, you can have multiple branches applied to your working directory at the same time. Each branch is represented as a vertical lane, and you can drag changes between these lanes to commit them independently.
14
+
With parallel branches, you can have multiple branches applied to your working directory at the same time. Each branch is represented as a vertical lane, and you can drag changes between these lanes to commit them independently.
15
15
16
16
Each lane also has its own staging area, so you can stage changes for each branch before deciding to commit them.
Copy file name to clipboardExpand all lines: content/docs/index.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,6 @@ Read about it over [Why GitButler](/why-gitbutler) Section.
45
45
46
46
The GitButler client is a powerful Git client. You can manage your branches, work on multiple things at once, push and fetch from your Git server, easily rebase and modify commits and more. We have a unique approach to merge conflicts that helps split up any conflicting work. It also keeps a timeline so that you can easily undo any operation.
0 commit comments