使用 git,您可以使用自定义 diff 工具替换 diff,例如使用全局 git 配置文件的difftastic。
有没有办法用 grep 做同样的事情?你能为 git 有一个不同的 grep 工具吗,比如 ripgrep 或 ugrep?
很难找到任何东西,因为大多数搜索结果都显示如何使用 grep。当我使用替换时,它显示如何替换代码内的文本,而不是如何替换 grep 本身。
不,不可能替换
git grep
中的 grep 功能,因为没有实际调用 grep
二进制文件本身。 git grep
旨在从对象存储中内部读取相关对象,以便它可以返回历史记录,并且它不会调用其他二进制文件来执行此操作,这会使其非常慢。
您当然可以尝试编写自己的工具来调用 Git 库(例如 libgit2)来实现类似的功能,但是您想要用
git grep
做的事情是不可能的。另请注意,libgit2 不处理 SHA-256 存储库,因此使用它来实现您自己的工具会使其停留在较旧的 SHA-1 类型上。