2016-10-19 2 views
0

Ich möchte die neuesten Dateien meines Repositories erhalten.Wie bekomme ich die neuesten commited Dateien in Git

, es zu tun:

Ich betreiben habe diesen Befehl-ID erhalten neuesten Commit:

git log --format="%H" -n 1 

und fügen Sie anschließend I-Ausgang auf diesen Befehl:

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT "PREV_COMMAND_OUTPUT" | xargs tar -rf changedFiles.tar 

Nun, wie ich Kann diese Befehle zusammenführen und die Ausgabe übergeben, wenn sie zuerst als Argument des zweiten Befehls ausgegeben wird?

dank

Antwort

1

Wenn Sie auf Linux sind (OSX funktionieren könnte auch) und haben Zugriff auf eine echte Shell (sorry, Fenster wird nicht funktionieren) Sie Befehl Substitution verwenden können:

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT $(git log --format="%H" -n 1) | xargs tar -rf changedFiles.tar 

oder

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT `git log --format="%H" -n 1` | xargs tar -rf changedFiles.tar 

Aber da Sie die letzten Commit-ID immer verwenden, dann kann man auch nur mitden ganzen Befehl ersetzen

git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT HEAD | xargs tar -rf changedFiles.tar 
Verwandte Themen