在git中,我们可以轻松构建指向HEAD~
HEAD^
等先前提交的修订,并在这些修订中显示文件,如
git show HEAD~:myfile
如果没有先咨询myfile
来获取提交哈希值,那么显示以前版本的git log
的语法是什么?
我还在fugitive
中使用vim
,有时需要使用:Gedit
打开文件的先前版本。但我不知道该提供什么作为论据。
答案 0 :(得分:0)
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'