I want to maintain a fork with custom functionality added on top of the original code. It is not a contribution to the project itself and won't be merged upstream.
What I want to achieve:
- The GitHub page of the fork should point to the patched version of the project instead of the original one.
- I should be able to easily merge new upstream code while preserving a separate history for my own commits.
My current plan is to have the upstream/master branch in the fork repository as vendor, from which my own master will be branched. Whenever there is a stable release upstream I can pull & push it into the vendor branch and than rebase my master.
Questions:
- Is there an easier or cleaner way to achieve the same results?
- Should I fork via GitHub web-interface and then move
master, or should I create the repository locally as described in this answer?