We are developing automation code that runs against multiple different versions of our company's products.
Per product version we're aiming to keep a dedicated code branch in Git.
Branches may diverge and contain different history, however for some commits which may be valuable for multiple product versions, we'd like to have the ability to apply them on other branches than the one they were made on.
I know one option that is used in the open source world is sending Patches across (creating patches and applying them on the target branch(es) ).
What are the possible ways to perform this operation? Is a Patch the only way?