Gibt es eine einfache Möglichkeit, nur die geänderten Dateien von einem bestimmten Commit oder einer Serie von Commits in git zu exportieren/zu archivieren? Ich kann keine klaren Anweisungen finden, dies zu tun (und ich bin neu in Linux/Git).Exportieren/Archivieren geänderter Dateien nur in Git
Ich benutze msysgit, und in den meisten Fällen bin ich gut mit der Bereitstellung von ganzen Repositories, aber in vielen Fällen ist es viel effizienter, kleine Fixes ein paar Dateien auf einmal zu implementieren.
Push/Pull/Installation von Git auf den Remote-Servern ist nicht wirklich eine Option, da meine Zugriffsebene zwischen Projekten und Clients variiert.
Gibt es eine geradlinige Art und Weise zu (grobe Schätzung):
pipe 'diff --names-only' to 'git-archive'?
Nur für die Nachwelt, diese andere Technik wäre etwas wie: 'git diff - nur-Name [diff Optionen] | xargs tar -czf files.tar.gz' – jason
Mit 'xargs' hast du ein anderes Problem, weil' xargs' 'tar' mehr als einmal ausführt, wenn zu viele Dateien vorhanden sind, um sie alle in eine einzige Befehlszeile zu bringen. Dies führt dazu, dass 'tar' eine neue .tar-Datei erstellt, die die vorherige Datei überschreibt, so dass nur die Dateien für den letzten Stapel enthalten sind. –
Danke für die Erklärung der Syntax! Die Backticks sind was ich brauchte :) Dies funktioniert perfekt in Bash Kommandozeile, die mit msysgit kommt, außer wo es Leerzeichen in Dateinamen (Windows ...) gibt. Gibt es eine Möglichkeit, ihnen automatisch zu entkommen? – AKS