Merge specific files from a branch in Git

Updated by Tom Wells on

When working on a large codebase or a codebase with many developers working on new features, there may come a time when you want to merge specific files from a branch rather than a whole commit or all the changes on the branch. Thankfully, this is easy to do!

Merge specific files

To merge specific files from a branch, use git checkout branch-name file-name. For example:

git checkout develop src/somefile.js src/somefile2.js

To break this down, we're merging src/somefile.js and somefile2.js from develop branch and merging it into our current active branch. So, as you can see, this is both simple and powerful!

How is this different from cherry-pick?

Cherry-picking from a branch is different in that this merges specific files only, whereas cherry-picking merges a specific commit and the changes associated with that commit.

To cherry-pick from a branch, use git cherry-pick e26ad04 where e26ad04 is your commit ID.

Wrapping up

In general, I would recommend cherry-picking your commits or attempt a standard merge, but if you require a bit more granular control, then it's possible, and simple, to merge specific files into a branch using git.

If you found this useful or if you have any feedback or questions, feel free to follow or comment on Twitter.