我经常git log -p
寻找一行代码更改,通常是删除。这打开更少,然后我做一个 /search 我正在寻找的东西。这确实有效。然而,一旦我找到它,我有时想查看这个文件的提交日志,通常是为了确定什么时候。由于许多文件提交,这通常涉及大量滚动。有没有什么好办法停止滚动,直接跳转到提交?
答案 0 :(得分:1)
要查找命中所在的文件只是?^diff
;那么查找提交标头的搜索字符串是 ?^commit
,如果您使用的是默认标头格式,则带有该尾随空格,或者 ?^[a-f0-9]{5}
如果您使用的是 --oneline
显然 mercurial 有一个差异抓取工具,可以将命中和元数据各压缩为一行,I wrote an equivalent as a simple lex 是为了好玩。
答案 1 :(得分:1)
如果您正在寻找删除特定行的提交,则有更好的方法。
使用 git log
:
git log -S <string which was added/removed> path/to/file
使用 git blame
:
git blame --reverse START..END filename