1

在 git 中,我们可以轻松构建指向先前提交的修订,HEAD~ HEAD^并在这些修订上显示文件,例如

git show HEAD~:myfile

myfile在没有事先咨询git log以获取提交哈希的情况下显示先前版本的语法是什么?

我也使用fugitiveinvim并且有时需要使用:Gedit. 但我不知道该提供什么作为论据。

4

1 回答 1

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'
于 2017-09-28T14:24:24.257 回答