今天早些時候,我發現我的git存儲庫中缺少一些代碼。我知道一些缺失的文本和它所在的文件,所以我使用了git log -S'missingtext' /path/to/file
。但是,唯一返回的是我添加了包含缺失文本的行的提交。這個文本並沒有出現在HEAD中,添加它的提交出現在我的分支中,所以我知道我的分支歷史記錄中的一個提交必須刪除它,但它沒有顯示出來。發現行被刪除
經過一些手動搜索後,發現該行被意外刪除,同時解決了合併衝突。所以我想知道:
- 這是爲什麼鶴嘴鋤找不到提交刪除行的原因?
- 如何在沒有手動挖掘歷史記錄的情況下找到「missingtext」被刪除的地方?
在#1任何有識之士將是巨大的(我認爲git log -S
會給我我的答案),但我真正的問題是#2,因爲我希望能夠避免這種情況在未來。
'git的日誌-p'和'/ missingtext'而在'less'是一個快速 'N' 骯髒的方式做到這一點。 – nneonneo
可能的重複[如何「責備」刪除的行](http://stackoverflow.com/questions/4404444/how-do-i-blame-a-deleted-line) – hypehuman