I’ve read about some tricks with merge in Git: merging public and private branches while while keeping certain files intact in both branches and others and not found a solution.
In my case I’m feeling need to do opposite merge strategy. In parallel development I have to keep some files same across the arbitrary branches. From other side I do not want to do squash or no-commit merge, while difference are significant and could break current state of testing branch.
What I want something like
git checkout testing
git merge config.xml -b development or git merge config\*.xml -b development
I guess this is like git merge-files ... command, but second file delivered from the branch, not from the filesystem.
Is it possible? or may be there is a kind of workaround? submodules? attributes?
Thanks
There are a couple things you can do.
One, you can cherry-pick the changes you want, which applies only a single commit. For example, if there’s a change that only touches
config.xml, you can cherry-pick it withYou could also just grab
config.xmlfrom the development branch:That’ll get you the same version of
config.xmlthat exists in the development branch, but note that it won’t pull in the history of changes to the file.