After the source tree is built under rpm/BUILD you can use git on it.
I prep packages, and then git add -A all of the files before touching
anything. Setup up a git remote on github for the git tree. Make your
changes/commits and keep pushing them out to github. Then if you
destroy your rpm/BUILD directory somehow (like I did messing with a
bug in ltib) all of your changes are still out on github.
ltib can generate patch file for simple changes. The kernel work I am
doing involves dozens of patches so you need something like git (and
stgit) to manage all of the patches.