這使我變得瘋狂。Git:查找刪除的代碼
如何查找被刪除的代碼?
我最終找到在那裏與此創建:
$ git log --pretty=oneline -S'some code'
而且這是夠好,而且我也很想找到它刪除了,並且到目前爲止,沒有骰子。
首先,我試着git diff HEAD..HEAD^|grep 'some code'
,每次擴大範圍,直到我找到它被刪除的行。尼斯,所以假設我發現它的範圍是HEAD^^..HEAD^^^
,那麼我的git show HEAD^^^
和git show HEAD^^
與grep
,但代碼無處可查!
然後我就git bisect
讀了一下,果然,它給了我一個修訂版本,其中的罪魁禍首應該是...同樣,git show rev|grep 'some code'
出現空...
什麼?我究竟做錯了什麼?
謝謝!
你是說,當你基本上做以下你沒有命中?:
如果是這樣,似乎無意義的....如果它在'log',它應該是在'可見顯示「......對嗎?或者,也許我誤解了這個問題。 – metasim 2010-04-16 20:16:07自從我處於這種情況之後已經有一段時間了,它並沒有再次出現,所以我無法測試你的命令。無論如何,它可能會派上用場。 – Ivan 2010-04-22 01:52:31
舊帖子/評論在這裏,但正是我所需要的。 @SimeonFitch你的語法對我來說非常合適,可以找到並列出有問題的實際代碼行。另外,我發現有用的是使用'--context = n'grep選項來顯示足夠的行前/後知道文件名是什麼(還有其他grep選項,這也會有所幫助)。所以在我的情況下,第二個命令是:git show $ SHAHIT | grep --context = 30'一些代碼' – 2014-10-09 14:29:22