Create a patch including specific files in git
You can create a patch file by restricting the output of git diff
by listing paths at the end of the command (after a --
to avoid any potential clashes between path names and branch names).
For example, you could do the following:
git diff origin/master HEAD -- app/models/region.rb doc/ > changes.patch
Above commands generate a patch that shows only the differences for a particular file: region.rb
and a particular directory : doc
when compared to origin/master
Then you can apply the patch using
patch -p1 < changes.patch
The -p1
tells patch to strip the a/
and b/
in the paths in the patch
You can include files in the patches with:
git format-patch <rev> <files...>
Example
git format-patch HEAD^^^ Makefile
Will give you three files 0001-[commit] ... 0003-[commit] only containing the Makefile.