I'm currently trying to update the linux kernel used in a xilinx SoC, my company has an internal repo/fork of xilinx open source linux with a bunch of kernel drivers for our custom hardware & kernel config stuff.
Our current fork is based on xlnx_rebase_v5.4 & we're trying to upgrade to xlnx_rebase_v5.15_LTS. So far, the best strategy I have for doing this update is to create a new fork of the 5.15 xilinx branch, then cherry pick all our commits needed from the old (internal) fork (which will probably be all of them). This results in a confusing git history, tons of merge conflicts and breaking any current feature branches being worked on by my coworkers.
I'm totally new to kernel development (and working on projects of this scale in general) so I'm wondering if there's a better way to do this? Maintaining traceability of our work is very important for the project so messing up the git history is my biggest concern.