3 ms·
> What's that rebase/cherry-picking craziness? I can only guess what OP had in mind: when you rebase in Git, commits are "replayed" on top of other commits. Bu
by pmeunier 6y ago
> What's that rebase/cherry-picking craziness?
I can only guess what OP had in mind: when you rebase in Git, commits are "replayed" on top of other commits. But there's no way this replay can really work, for two reasons:
- conflicts are not even modeled in commits, which is why some solve conflicts can come back. You may say this never happens, but (1) the problem is so real that Git even has a `git rerere` command to fix it, and (2) many workflows have explicit ways of avoiding this situation: no matter what your natural workflow is, you must adapt it to suit Git.
- each step of the replay tries to commute patches, but Git uses 3-way merge for that, and this is not a 100% algorithm, merely a heuristic, as explained there: https://pijul.org/manual/why_pijul.html https://pijul.org/manual/why_pijul.html