Skip to content

Add FAQ for Merging Behavior #344

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
May 19, 2025
Merged

Add FAQ for Merging Behavior #344

merged 8 commits into from
May 19, 2025

Conversation

pinkeshmars
Copy link
Collaborator

Description

Add FAQ for merging behavior

Linear ticket and magic word Fixes DEVR-908

Type of change

  • Typo fix
  • New feature
  • Enhancement to current docs
  • Removed outdated references
  • Update assets

Copy link

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

Copy link

@victoriahuang1 victoriahuang1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's also add in the fact that project errors are not bugs, but a feature to let you know that you are making mistakes when merging data.

</summary>
<p>
Merging in FlutterFlow is designed to copy only the differences (diffs) between branches, not to replicate the entire contents of one branch into another. This behavior often leads to confusion, especially if users expect merging to act like a full copy-paste of all data.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do not phrase it as "Merging in FlutterFlow is designed" -- this is how GIT works, with or without Flutterflow

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

</ul>
<p>
For example, if you merge `Branch B` into `Branch A` and copy over `change C`, but later undo that change on `Branch A`, a future merge from `Branch B` into `Branch A` won’t re-flag `change C`. Git considers it as already merged.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a very long sentence with lots of commas. Hard to read.

Let's split it up into sentences, or even bullets.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ya, got it. splited it into sentences.

@pinkeshmars
Copy link
Collaborator Author

@victoriahuang1 comments address. You can review it again.

</summary>
<p>
In merging, Git copies only the differences (diffs) between branches, not the full content from one branch to another. This behavior often leads to confusion, especially if users expect merging to act like a full copy-paste of all data.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This phrasing is misleading -- I think it would be useful to include a diagram to show a full picture of what actually happens.

When a merge (A -> B) occurs, we compare:

  • latest state of branch A vs common ancestor between A and B
  • latest state of branch B vs common ancestor between A and B

Both of those diffs are then applied to the common ancestor. Conflicts arise if the diffs conflict with each other.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 diagram may be needed!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@victoriahuang1 updated the info as mentioned and added a diagram. Let me know if it looks good to you now!

- What changed in `Branch B` since the common starting point.

If both of you changed different parts, Git can merge them easily. But if you both changed the same part in different ways, Git won’t know which one to keep—that's called a conflict, and you'll need to resolve it manually.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

space between "keep -- that's"

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

<p>

For example, you merge `Branch B` into `Branch A`, and `change C` gets copied over. Later, you decide to undo `change C` directly on `Branch A`. Now, if you merge `Branch B` into `Branch A` again, Git will not re-flag `change C` as a difference. This is because Git considers it already merged and no longer a diff.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

specify that C was present on B

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done!

@pinkeshmars pinkeshmars merged commit ce3f835 into main May 19, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants