Um ein TAR-Archiv mit allen geänderten Dateien (inkl Unterordnern) zu Erstellen reicht folgender Befehl:
git diff-tree -r --name-only --no-commit-id --diff-filter=ACMRT 12ab34de | tar -czf patch.tgz -T -
Das Archiv kann dann auf dem Zielsystem mit
tar xfv patch.tgz
entpackt werden und überschreibt damit nur die im Commit geänderten Dateien.