3 ms·
Can you give an example? I think we are talking past each other. This is not my experience at all.
by geon 9mo ago
Can you give an example? I think we are talking past each other. This is not my experience at all.
- cluckindan 9mo agoCreate new branch A off main. Do some work on a file, commit 1 to branch A. Meanwhile, in another branch B created off main, someone else commits changes to the same part of the same file. That other branch B gets merged to main. Now, rebase branch A onto main. The rebase stops at the commit 1 due to a conflict between main and branch A. Fix the conflict and commit. This erases commit 1 and creates new commit 1' where the conflict has never existed. History has been rewritten. Rebase successfully completes, branch A now contains different commits than previously, so it will need to be force-pushed to remote if it already exists there. The protocol has resistance against changing history. Merge branch A to main. No commit in main now contains any information that there was a conflict that was fixed. Had a pull request workflow been used, the ”merge main to A” merge commit message would detail which files were conflicting. No such commit is made when using a rebase workflow, chasing those clean fast-forward merges.