Git 搜索文件所有版本的文本帐户
我有一个文件,其中包含一些文字在某个点,然后被删除 我忘记了确切的提交以及它存在于哪个分支中Git 搜索文件所有版本的文本帐户,git,Git,我有一个文件,其中包含一些文字在某个点,然后被删除 我忘记了确切的提交以及它存在于哪个分支中 是否有任何方法可以在所有分支中搜索文件的所有修订版,并找到文件包含特定文本的提交?为此,您可以使用-S选项: 这将搜索文件foo.rb 如果您想搜索所有差异,可以执行以下操作:git log-G'bar'-foo.rb 当-S或-G发现更改时,显示该更改集中的所有更改,而不仅仅是包含中更改的文件 注意:此搜索区分大小写 如果添加-i,则可以不区分大小写进行搜索。生成完整的命令: git log -i -
是否有任何方法可以在所有分支中搜索文件的所有修订版,并找到文件包含特定文本的提交?为此,您可以使用-S选项: 这将搜索文件
foo.rb
如果您想搜索所有差异,可以执行以下操作:git log-G'bar'-foo.rb
当-S或-G发现更改时,显示该更改集中的所有更改,而不仅仅是包含中更改的文件
注意:此搜索区分大小写
如果添加-i
,则可以不区分大小写进行搜索。生成完整的命令:
git log -i -S'bar' -- foo.rb
注意2:此操作仅在当前分支中搜索
如果要在所有分支上搜索帐户,则应添加--all
标志
假设refs/中的所有REF以及HEAD在命令行中都列为
完整的命令将是:
git log --all -i -S'bar' -- foo.rb
输出如下所示:
$ git log --all -i -S'bar' -- foo.rb
commit 53106e9cd319a2d8f960a3bbf2731acd0699a54f (feature/x)
Author: name <email>
Date: Fri Jan 18 13:59:32 2019 +0100
Added word
$git log--all-i-S'bar--foo.rb
提交53106e9cd319a2d8f960a3bbf2731acd0699a54f(功能/x)
作者:姓名
日期:2019年1月18日星期五13:59:32+0100
附加词
为此,您可以使用-S选项:
这将搜索文件foo.rb
如果您想搜索所有差异,可以执行以下操作:git log-G'bar'-foo.rb
当-S或-G发现更改时,显示该更改集中的所有更改,而不仅仅是包含中更改的文件
注意:此搜索区分大小写
如果添加-i
,则可以不区分大小写进行搜索。生成完整的命令:
git log -i -S'bar' -- foo.rb
注意2:此操作仅在当前分支中搜索
如果要在所有分支上搜索帐户,则应添加--all
标志
假设refs/中的所有REF以及HEAD在命令行中都列为
完整的命令将是:
git log --all -i -S'bar' -- foo.rb
输出如下所示:
$ git log --all -i -S'bar' -- foo.rb
commit 53106e9cd319a2d8f960a3bbf2731acd0699a54f (feature/x)
Author: name <email>
Date: Fri Jan 18 13:59:32 2019 +0100
Added word
$git log--all-i-S'bar--foo.rb
提交53106e9cd319a2d8f960a3bbf2731acd0699a54f(功能/x)
作者:姓名
日期:2019年1月18日星期五13:59:32+0100
附加词
git log-p文件
若要显示差异(作为补丁),则可以轻松搜索特定文本的结果git log-p文件
若要显示差异(作为补丁),则可以轻松搜索仅在当前分支历史中搜索的特定文本的结果。例如,我创建了另一个分支,在那里我用blablah
提交了一个文件,然后我切换回master并运行命令git log-S'blablah'
不返回任何内容,当我希望看到分支X,commit 124abcf16
时,您应该添加--all
选项:)我更新了答案还注意,如果文件被重命名和/或复制,您可以查看-M
和-C
命令行选项。它仅在当前分支历史记录中搜索。例如,我创建了另一个分支,在那里我用blablah
提交了一个文件,然后我切换回master并运行命令git log-S'blablah'
不返回任何内容,当我希望看到分支X,commit 124abcf16时,您应该添加--all
选项:)我更新了答案还注意,如果文件被重命名和/或复制,您可能会看到-M
和-C
命令行选项。