-
Notifications
You must be signed in to change notification settings - Fork 107
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
Conversation
|
There was a problem hiding this 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. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
@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. |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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!
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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"
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done!
Description
Add FAQ for merging behavior
Linear ticket and magic word Fixes DEVR-908
Type of change