I am maintaining a forked version of another Free Software project. It offers few extra features that cannot be merged with the upstream at the moment. And I want to keep this fork, up to date with the latest updates of the upstream project.
This is what I do:
- Have another branch like 'my-custom-version'
- I keep local
master
, synced with upstreammaster
- I use
git rebase
to rebase my custom branch with master on every new release of upstream project - Since there are some conflicts between my branch and master (like version and description in
package.json
file, I get merge conflict. I solve the conflict and usegit rebase --continue
.
Here, I think my history gets corrupted as the merge happens to replace or amended to the last commit. This makes me worried about if my approach is right or not.
Should I rebase my custom branch (which is like master of the customized fork) with master? If so, how should I rebase to keep the history safe. If not, what is the right approach?