3 ms·
Merge commit is just a regular commit that happens to have multiple parent commits - it doesn't have to match the state of its parent commits at all. However, y
by seba_dos1 4y ago
Merge commit is just a regular commit that happens to have multiple parent commits - it doesn't have to match the state of its parent commits at all. However, you usually use `git merge` in order to create a commit that does in fact match the state of its parent commits, so some people (and even some UIs) don't expect it to diverge over regular conflict resolution - which is why it's easy to "hide" changes there that don't appear in any dedicated non-merge commit.
- Am4TIfIsER0ppos 4y agoYes. When you "resolve" "conflicts" you can add any changes you like. This means reading it you need to understand ++ -- +- -+ or to compare it to both parents and their parents to see what exactly was added. For example I recently had to do something with ffmpeg commit 522f87708653af3badcdc33be983bcc6009de49b which basically rewrites the code it is supposed to be merging. Fortunately for that commit it makes most sense to only compare it with its first parent. Things like that make me strongly prefer rebase.