显示已删除文件的最新版本的简便方法是什么?

What's a convenient way of showing the latest version of a deleted file?

我能做到:

git-showlatest(){ git show $(git log -p -- "" |grep commit|head -n1|cut -d\  -f2):""; }

作为 bash 函数。

有没有更好的方法?

首先,您缺少插入符号 (^):

git-showlatest() 
{ 
    git show "$(git log -p -- "" |grep commit|head -n1|cut -d\  -f2)^:"
}

您需要插入符号,因为在相关修订中,该文件不存在 - 因为它已被删除,所以您需要之前修订中存在的版本。

但是正如@zedfoxus所说,你不需要做这个解析(你也可以使用xargs):

git-showlatest() 
{ 
    git log -n 1 --pretty='format:%H' -- "$@" \
        | xargs -I '{}' git show "{}^:"
}