繁体   English   中英

git显示以前的提交,该提交修改了没有git日志的文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM