I am working on a forked version of a open-source project which is written in golang. The problem is, while I do some modifications in my private repo, I realised that the opensource also releases important modifications to the project.
When I do merge from upstream, there are huge amount of conflicts to solve. Then, I decided to move my private logic, modifications, to separate files and added new functions and embedding structs(in golang terms). Now conflicts are much lesser. But still I have to check those modified functions manually.
Any better approach to tackle this task? How big tech companies do this in production? Maybe setup a CI/CD to do this automatically and solve conflicts automatically? Any ideas appreciated. Thank you.