You should pull master
and then rebase your branches on top of it.
See "Git: How to rebase many branches (with the same base commit) at once?" for a concrete example.
For extra security, you can add a merge driver "keepMine
" associated for your files, and declare that merge driver in a .gitattributes
file present in each of your branches.
See "How do I tell git to always select my local version for conflicted merges on a specific file?".
That will change the SHA1 of your client branches, and you will have to force push them to the client repo, but since said clients aren't actively modifying files on their side, it isn't a problem.