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: docs/testing-deployment-publishing/branching-collaboration/branching.md
+13-7Lines changed: 13 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ toc_max_heading_level: 4
11
11
# Branching
12
12
Branching creates a separate copy of your work, so you can add new features without disrupting your current progress. It enables multiple developers or teams to work simultaneously on different features without interfering with each other.
13
13
14
-
Suppose you have an eCommerce app and you want to add a new feature, such as a product recommendation system. Instead of incorporating it directly into your `main` branch and potentially causing problems, you can create a branch to work on this new feature in isolation. Once it's complete, you can integrate it back into the `main` branch.
14
+
Suppose you have an eCommerce app and you want to add a new feature, such as a product recommendation system. Instead of incorporating it directly into your existing `main` branch and potentially causing problems, you can create a branch to work on this new feature in isolation. Once it's complete, you can integrate it back into the `main` branch.
15
15
16
16
:::info
17
17
While all users can access the branching menu and create commits, only **Pro**, **Teams**, and **Enterprise** plans support creating new branches.
@@ -28,12 +28,18 @@ FlutterFlow. You can also learn more about
28
28
## Branching Overview
29
29
Before you create and merge a branch, it is essential to understand the general workflow. Here's what it looks like:
30
30
31
-

31
+

32
32
33
-
First, create a new branch from the `main` branch. After making your changes and finalizing the
34
-
feature, merge this new branch back into the `main` branch. If there are any conflicts,
33
+
First, create a new branch from the `main` branch. After making your changes in a new branch and finalizing the feature, merge this new branch back into the `main` branch. If there are any conflicts,
35
34
you must resolve them first.
36
35
36
+
:::note
37
+
It’s important to understand what merging actually means. Merging does not perform a "union" of data between branches. Instead, Git merge reconciles differences (diffs) between the branches. When you merge, Git compares the changes made in the new branch with the main branch and applies these changes directly.
38
+
39
+
For instance, if a branch is created and all existing data is deleted before new content is added, Git interprets this as a replacement. When the branch is merged back into the main branch, those deletions will also be applied removing the original data. This behaviour can be surprising to those expecting Git to automatically preserve all content from both branches. Learn more about [**Merging**](#merging).
40
+
41
+
To avoid accidental data loss, ensure that your branch workflow involves incremental and intentional changes rather than deleting and replacing all existing content unless that's specifically your goal.
42
+
:::
37
43
38
44
## Creating a New Branch
39
45
To create a new branch from the current branch, simply go to the **Branching Options** button next to current branch in the **Branching menu.**
@@ -177,12 +183,12 @@ You can also merge changes from the parent branch, into the current branch. For
177
183
178
184

179
185
180
-
During a merge, FlutterFlow compares the changes made in both branches, if the changes don't overlap or conflict then the branches are automatically combined. If there are conflicts (for example, both branches modified the same widget property) you'll need to resolve these before the merge can be completed.
186
+
During a merge, Git compares the changes made in both branches, if the changes don't overlap or conflict then the branches are automatically combined. If there are conflicts (for example, both branches modified the same widget property) you'll need to resolve these before the merge can be completed.
181
187
182
188
:::note Few things to note here
183
189
184
-
- At the moment, FlutterFlow only supports merging into the parent branch, or the branch that the current branch was created from (usually `main`)
185
-
- Only the user who initiated the merge can access both the `main` branch and the branch during an ongoing merge.
190
+
- At the moment, FlutterFlow only supports merging into the parent branch, or the branch that the current branch was created from.
191
+
- Only the user who initiated the merge can access both the branches during an ongoing merge.
186
192
- Merges result in a merge [commit](#commits), which means you can undo a merge by restoring the branch to a prior commit
187
193
- If you leave the project during the merge and come back, the progress you have made on the merge will be preserved.
0 commit comments