10. März 2011 in Allgemein by Leo

Falls man für ein Projekt Git nutzt und nun die geänderten Dateien bündeln und als Zip haben möchte, kann dies ganz simpel mit ein paar Commands machen. Mit Git diff können wir einen Vergleich machen. Was hat sich geändert.

In unserem Zip welches in meinem Beispiel später wieder auf einen anderen Server gespielt wird und dort die Live Dateien überschreibt, muss natürlich die Filestruktur beibehalten werden.

Der Befehl der uns all diese Arbeit nun abnimmt sieht folgendermassen aus:

git archive --output=export.zip HEAD $(git diff --name-only --diff-filter=ACMR $(git rev-parse HEAD))

Kurz erklärt:

git archive --output=export.zip

Erstellt schlussendlich das Zip, also der Output.

git diff --name-only --diff-filter=ACMR

Dies würde einzeln ausgeführt eine Liste mit den geänderten Dateien anzeigen (diff).

git rev-parse HEAD

Dies ermittelt uns die ID des letzten Commits. Die ID ist hierbei ein Hash Wert.