11 Stimmen

Wie exportiert man alle geänderten/hinzugefügten Dateien aus Git?

Ich bin sehr neu bei Git und habe ein kleines Problem.

In SVN (Das kommt mir vor wie eine Only Fools and Horses-Geschichte von Onkel Albert... "während des Krieges...") Wenn ich eine Produktionsseite mit meinen letzten Änderungen aktualisieren wollte, habe ich einen Vergleich in TSVN durchgeführt und alle geänderten/hinzugefügten Dateien zwischen zwei Revisionen exportiert. Wie Sie sich vorstellen können, war es einfach, diese Dateien anschließend auf eine Produktionsseite zu übertragen.

Es scheint jedoch, dass ich in Git keine Option "Geänderte Dateien exportieren" finden kann. Ich kann ein diff machen und siehe die Änderungen, kann ich eine Liste von Dateien, aber ich kann sie nicht wirklich exportieren. Gibt es eine vernünftige Möglichkeit, dies zu tun? Übersehe ich etwas Einfaches?

Nur um das noch einmal klarzustellen, ich muss exportieren tous die Änderungen zwischen zwei bestimmten Übertragungen.

Vielen Dank im Voraus!

17voto

Cascabel Punkte 449595

Wie wollen Sie sie exportieren? Sie sagen, Sie haben bereits eine Liste; was wollen Sie noch? Angenommen, Sie erhalten Ihre Liste mit git diff --name-only ...

git archive --output=<file> HEAD $(git diff --name-only ...)

tar -czf <file> $(git diff --name-only ...)

cp $(git diff --name-only ...) <export-directory>

So etwas in der Art?

Oder Sie können sogar das Diff selbst verwenden - es kann mit git apply (oder sogar patch glaube ich).

3voto

Altair7852 Punkte 1066

In Anlehnung an einige der Antworten in aquí Hier ist eine weitere Möglichkeit, Dateien zu exportieren, die im Arbeitsbereich geändert wurden:

git diff --diff-filter=ACMRT --name-only HEAD | xargs tar -rf export.tar

Möglicherweise müssen Sie vorher folgendes ausführen, um nicht verfolgte Dateien hinzuzufügen, wenn Sie sie in den Vergleich einbeziehen wollen:

git add *

(Dies funktioniert in git-bash unter Windows)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X