I am doing something very simple wrong. I'm trying to prepare an ordinary patch file, so I can reapply some changes:
$ git diff > before $ git diff something_here > save.patch $ git checkout . $ patch < save.patch $ git diff > after $ diff before after $ With something_here blank it almost works, but the file names aren't right. I think I'm just I'm missing some option.
In real life, I am going to do a merge after the checkout, so the patch might fail there, but you see what I'm getting at.
Edit My fault here for asking the wrong question. The actual question is, I want to save my changes away, do a merge, then re-apply the changes, if possible? I asked it the wrong way because I am used to using patch to solve these sorts of problems and git diff looked like that's what it wanted me to do.
Charles Bailey's comment had the right answer. For me, git-apply is the right thing to do (git-stash looks more heavy-weight than I need and rebasing and bundles is definitely beyond my current skill level.) I'm going to accept the answer Charles gave (because you can't accept a comment). Thanks for all the suggestions.
Edit, 6 years later As anyone familiar with the subject knows, I over-estimated the difficulty of git stash. Pretty much every day or so, I will use the following sequence:
$ git stash $ git merge $ git stash pop Edit, 5 years further down the road I have largely abandoned git apply and don’t even use git stash much. git rebase FTW.
patchrather thangit apply?git stashor other git tools?git stashis the easiest solution for what you are trying to do, but there are lots of approaches that work.git-svn.