显示已删除文件的最新版本的简便方法是什么?
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 "{}^:"
}
我能做到:
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 "{}^:"
}