[英]git show previous commit that modified a file without git log
在Git中,我们可以很容易地构建指向先前提交的修订一样HEAD~
HEAD^
像那些修订和显示文件
git show HEAD~:myfile
在没有先查询git log
来获取提交哈希值的情况下,显示myfile
先前版本的语法是什么?
我也在vim
使用fugitive
,有时需要使用:Gedit
打开文件的先前版本。 但是我不知道该提供什么。
git show $(git log -m --first-parent --format=%H HEAD~ -2 -- path/to/file | tail -1):path/to/file
注意:此解决方案需要您指定两次路径,并且每次键入都可能很冗长。 别名可能会更好。
git config alias.prev '! f(){ git show $(git log -m --first-parent --format=%H HEAD~ -2 -- "$1" | tail -1):"$1"; }; f'
要获取先前的哈希:
git config alias.prevhash '! f(){ git rev-parse $(git log -m --first-parent --format=%H HEAD~ -2 -- "$1" | tail -1):"$1"; }; f'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.