Git:查找已删除的代码
这使我疯狂。
我如何find被删除的代码?
我最终find了它创build的地方:
$ git log --pretty=oneline -S'some code' 
这足够好,但我也很好奇,find删除的地方,到目前为止,没有骰子。
 首先,我尝试了git diff HEAD..HEAD^|grep 'some code' ,每次扩展范围,直到find被删除的行。 不错,所以假设我发现它在范围HEAD^^..HEAD^^^ ,然后我做git show HEAD^^^和git show HEAD^^与grep ,但代码无处可寻! 
 然后,我读了一下git bisect ,果然,它给了我一个罪魁祸首应该是一个单一的版本…再次, git show rev|grep 'some code'出现空… 
什么? 我究竟做错了什么?
谢谢!
哼,为我工作:
 $ git init
在/Users/pknotz/foo/.git/中初始化了空的Git仓库
 $ echo“Hello”> a
 $ git添加一个
 $ git commit -am“初始提交”
 [master(root-commit)7e52a51]初始提交
  1个文件已更改,1个插入(+),0个删除( - )
 创build模式100644 a
 $ echo“World”>> a
 $ git commit -am“更具体”
 [master 080e9fe]更具体
  1个文件已更改,1个插入(+),0个删除( - )
 $ echo“Hello”> a
 $ git commit -am“不太具体”
 [master 00f3fd0]不太具体
  1个文件已更改,0个插入(+),1个删除( - )
 $猫a
你好
 $ git log -SWorld
提交00f3fd0134d0d54aafbb9d959666efc5fd492b4f
作者:Pat Notz <patnotz@gmail.com>
date:2009年10月6日星期二17:20:48
    不太具体
提交080e9fe84ff89aab9d9d51fb5d8d59e8f663ee7f
作者:Pat Notz <patnotz@gmail.com>
date:2009年10月6日星期二17:20:33
    更加详细一些
或者,这不是你的意思?
  git log -S<string>做这个工作,但是如果你需要进行更复杂的search,你可以使用git log -G<regex> 。 
 从man : 
-G<regex>查找补丁文本包含匹配
<regex>添加/删除行的差异。
如果你的仓库在github.com上,它有一个集成的function来search。 它以毫秒为单位进行响应,并在已删除的代码中进行search