How can I format patch with what I stash away
Sure, git stash show
supports this:
git stash show -p
So, use
git stash list
to find out the number of the stash that you want to export as a patch, then
git stash show -p stash@{<number>} > <name>.patch
to export it.
For example:
git stash show -p stash@{3} > third_stash.patch
This answer provides info about both saving the patch and applying it where you want to use it.
To stash the output in a file:
git stash show -p --color=never > my-patch-name.patch
Verify patch looks good:
git apply --stat my-patch-name.patch
Verify no errors:
git apply --check my-patch-name.patch
Apply the patch
git apply my-patch-name.patch
Use
$> git stash list
stash@{0}: WIP on master: 84fx31c Merged with change to /public/
stash@{1}: WIP on master: 463yf85 FlupResource: also takes json as a query parameter
to get a list of your recently stashed stuff. Git actually creates commit objects when you stash.
They are commits like everything else. You can check them out in a branch:
$> git checkout -b with_stash stash@{0}
You can then publish this branch and you colleague can merge or cherry-pick that commit.
Above solutions won't work for binary data. The following add support for it:
git stash show stash@{0} -p --binary
Edit
Note: I just wanted to add a comment to above replies but my reputation is not sufficient.