Bash / xargs 技巧打开所有在 git HEAD 中更改的文件

Bash / xargs trick to open all files that changed in git HEAD

我在 Sublime Text 中从终端打开文件,并使用如下快捷方式:

$ subl <filename>

...我希望做的是打开我上次 git 提交中更改的所有文件。

我可以看到所有这样更改的文件:

$ 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

... 但是此命令显示了除文件名本身之外的更多信息。

我想做类似的事情:

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

这需要 awk 吗?或者我找不到的其他 git 标志?

使用差异:git diff --name-only HEAD~

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

git show --pretty= --name-only HEAD 应该可以解决问题