我想要一个git openlast命令来查看上次提交,获取添加或更改的文件列表,将它们过滤为仅文本文件,最后在编辑器中打开它们。
到目前为止,我已经完成了以下工作:
git show --stat HEAD
read -p "Open in Vim tabs? (Y/n)" -n 1 -r
if [[ -z $REPLY || $REPLY =~ [Yy] ]]; then
vim -p $(git diff --diff-filter=AM --ignore-submodules --name-only HEAD^)
fi
Run Code Online (Sandbox Code Playgroud)
缺点是如果我在之前的提交中添加或更改了一个二进制文件,那么它会被编辑器打开(在这种情况下是 Vim)。有没有办法获取git diff命令输出的列表并删除二进制文件?