我正在开发一个混合C ++代码和HTML模板文件的大型项目。

我今天了解到我应该将我对C ++文件( 以及那些 )的更改合并到另一个分支上,但正如您可能猜到的那样:我不记得我做过的所有提交。

有没有办法通过git历史记录搜索符合所有这些条件的所有提交?

  • 是我写的
  • 位于提交A和提交B
  • 包含对.cpp.c.h文件的更改(如果有帮助,则位于特定子目录中)。

#1楼 票数:7 已采纳

我终于想出了如何做到这一点:

要搜索与特定作者匹配的提交,可以使用--author选项:

git log --author=ereOn

要从提交AB搜索提交,请使用A..B表单:

git log 9223253452..HEAD

最后,只关心涉及特定文件或路径的提交:

git log -- path_or_file

--用于表示可选参数的结束和位置参数的开头。

所有组合,给出:

git log --author=ereOn 9223a6d916c034345..HEAD -- cpp_folder/*

哪个像魅力:)

#2楼 票数:1

查看git log ,运行git log --stat将显示你正在寻找的很多细节,你可以通过管道搜索grep像git log --stat | grep searchterm git log --stat | grep searchterm ,但这只会为您提供搜索字词。

您可以使用此标志将其限制为作者 - author --author "your name"

在我的机器上, git log的输出是通过vim / less运行的,你可以用vim的搜索命令/searchterm搜索日志,找到所有出现的术语,转到下一个命中n去转到以前的命中N

查看git log的手册页

  ask by ereOn translate from so

未解决问题?本站智能推荐:

1回复

如何搜索特定问题的提交

我有git repo。 可能是像Android这样的庞大来源库。 肯定会有针对特定问题的修复程序。 我想知道如何在我的整个代码库(本地存储库)中搜索提交中的特定问题。 对于linux内核,我可能会用谷歌搜索,这会给我一个补丁。 如何针对本地git代码执行此操作。
1回复

搜索git提交特定更改

我正在git repo中的一个特定分支上工作,并注意到一段我认为自己已更改的代码。 也许更改是在另一个尚未合并到master的分支上,或者是我正在使用的当前分支上。 如何在整个存储库(包括所有分支)中搜索对一个源代码文件的特定更改?
2回复

通过提交消息搜索特定的gitcommit并排除分支

我目前正在开发一个程序来过滤存储在命令行数据库中的慢速数据库查询。 我想搜索除指定分支之外的所有分支中的所有提交,并返回所有匹配的提交。 我的过滤条件存储在一个数据库中(这是为我提供的)。 例子: 我在数据库中有以下条目: 我现在对代码中尚未修复的查询感兴趣。 所以我需要使用关键字作为搜索过滤器来搜
1回复

如何搜索(gitgrep)特定提交和文件类型的更改?

我想搜索特定提交中的所有更改。 请注意,我只想搜索更改,而不是整个更改的文件。 这是我尝试过的: 我似乎无法将其限制为一次提交。 返回的结果还包括来自此提交中未更改的文件的搜索结果。 如何将搜索限制为特定的文件名和类型? 我可以限制扩展但不能使用如下所示的模式:
2回复

Git在特定提交的文件中搜索字符串

我有许多文件包含字符串foo 。 另外,我通过一定的提交将foo添加到新文件和旧文件中。 我尝试了不区分大小写的git pickaxe搜索 但只显示提交标题。 我试过了 但它不显示文件名。 我只想获取具有foo字符串的已创建或已修改文件的列表。
1回复

如何在没有特定提交的情况下搜索git日志

假设我有一个3次提交的分支主管,注释分别为t123,b1和b12。 现在,我想使用git log --grep <regex>搜索不带t123的日志。 我想要的结果是 那么如何使用正则表达式来满足要求呢?
1回复

在所有分支中搜索字符串,但将提交限制为特定作者?

我可以使用它在所有分支中搜索某个字符串。 我该怎么做,但仅限于特定作者的提交?
1回复

Git:一次搜索以任何方式引用特定文件的所有提交?

是否可以使用OR语义同时运行这3个动作,并使用标准的寻呼机( less )浏览输出。 git log '**/foo.c' (寻找在仓库中更新foo.c提交) git log -G foo.c (查找其差异包含字符串foo.c提交) git log --grep foo.c (