Situation is we have a product that we build for masses, we have it on a GIT repo (lets call it upstream
). One of our client wanted a customized version of the product, so we forked it and kept it in a diff GIT repo (lets call it origin
).
Idea is to lead origin repo in its own development direction for client customization and yet continue to receive updates from upstream.
I have added the upstream as a remote to my local repo where I am developing it, and I am aware that I can pull updates from upstream, merge them or whatever seems fine but I would like to hear from someone who has done this or do it to make the workflow smooth and any possible pitfalls to avoid?
Edit: Would fetch-merge workflow handle well like the same changes in both repos? Like the work has already began in fork and a few things I fixed in origin itself, but I would need the same fix on upstream too. So should I just make another commit on upstream to fix that and git can detect the similarity when merging them next time for updating fork or I should have committed that fix as a separate commit even if it qualifies for the work commit I did? My concern is more like how can I make this process work with least friction.
Another question: Using cherry-pick seems like a good idea on small changes. Thoughts?