2017-06-12 1 views
0

ich Dateien vom Terminal öffnen in Sublime Text und machen das, indem so eine Verknüpfung wie folgt aus:Bash/xargs Trick alle Dateien zu öffnen, die in git HEAD geändert

$ subl <filename>

... was ich bin der Hoffnung, Zu tun sind alle Dateien, die sich in meinem letzten Git Commit geändert haben.

kann ich alle Dateien sehen, die wie so geändert:

$ git show --name-only HEAD 
commit b2c891f64daab0dc67df5cde9608602c7cde2f7b 
Author: Jacob 
Date: Fri Jun 9 16:52:05 2017 -0700 

    start doing some cool stuff; ref 12345 

python/deep/hot/Classes.py 
python/shallow/cold/features.tmpl 
javascript/utility_master.js 

... aber dieser Befehl zeigt weitere Informationen neben den Dateinamen selbst.

Ich möchte wie etwas tun:

$ git show --name-only HEAD | <get the lines out that aren't filenames> | xargs -i subl {}

diese awk erforderlich macht? Oder eine andere git Flagge, die ich nicht finden kann?

Antwort

1

Verwenden diff: git diff --name-only HEAD~

subl `git diff --name-only HEAD~`

+0

Dieser funktioniert. Was macht die Tilde? – JacobIRR

+1

@JacobIRR: Die Tilde-Syntax wird von einer Zahl gefolgt und bedeutet "Zähle so viele Iterationen über Ersteltern zurück". Die Zahl ist standardmäßig eins, also was auch immer ~ = was auch immer ~ 1 = "ein Commit früher, nur die ersten Elternteile verwenden", wobei "nur das erste Elternteil" egal ist, weil wir sowieso nur eins machen. Weitere Informationen finden Sie unter [gittrevisions] (https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html). – torek

+0

Ausgezeichnet, vielen Dank – JacobIRR

0

git show --pretty= --name-only HEAD sollte es tun