如何解决有没有一种简单的方法可以通过所有以前的提交来搜索 git repo 的所有代码?
我有一个私人 git 存储库,其中我有一个关键字,例如 abcde
,我之前在其中一个文件中写下了这些文件,这些文件今天可能仍在或可能不在该存储库中。有没有一种简单的方法可以搜索我的关键字 abcde
的所有先前提交的所有文件?
我想我需要编写一个脚本来搜索每个当前文件,但如果它不存在,只需启动 git reset --hard prevIoUsCommit
直到它到达第一个提交。
解决方法
您可能正在寻找
git log -G mykeyword
使用单个 git log 命令,您可以搜索引入任何给定文本的提交。
,你必须将两行代码迭代 N 次:
(例如,如果您有 N 个提交)
for VARIABLE in 1 .. N
do
git checkout HEAD^
grep keyword *
done
因此,在您的情况下,您可以将以下代码复制并粘贴到 git bash 中:
for VARIABLE in 1 .. 2500
do
git checkout HEAD^
grep abcde *
done
当下一次提交不再显示您要查找的内容时,迭代停止。
完成此操作后,您最终可以看到最旧提交的 SHA 标识符是您要查找的单词。然后可能应用“重置 --hard”
希望对你有所帮助。 ?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。