Ok, this is probably a very easy question for you, but here it comes:
I’ve forked the Marlin repository to manage configurations for my different 3D printers. To do this, after the fork, I created new branches for each printer/configuration. To access the upstream repo, I added one additional remote (once):
$ git remote add upstream https://github.com/MarlinFirmware/Marlin.git $ git remote -v origin email@example.com:fiechr/Marlin.git (fetch) origin firstname.lastname@example.org:fiechr/Marlin.git (push) upstream https://github.com/MarlinFirmware/Marlin (fetch) upstream https://github.com/MarlinFirmware/Marlin (push)
then (after a new release on the 2.0.x stable branch on upstream)
$ git checkout 2.0.x $ git fetch upstream $ git merge upstream/2.0.x
Since I left the 2.0.x branch as it was/is, this was simply a fast-forward. For my other custom branches, I only had to merge a few (configuration) files and was done.
Unfortunately, this worked only twice. Now, I get a lot of conflicts and changes although the branch should be “clean” on the 2.0.x branch.
I assume this has something to do with the whole “merge vs. rebase” topic, but I don’t understand why it worked before and not anymore… To be honest, I read quite a bit about that, but still wasn’t sure which approach would be better suited for this scenario. Merging seemed to do what I wanted…
$ git --version git version 2.28.0