# For unstaged changes
git diff > my-changes.patch
 
# For staged changes
git diff --cached > my-staged-changes.patch
git apply my-changes.patch
diff -ruN dirA dirB > my-changes.patch
patch -p1 -d dirA < my-changes.patch