我正在开发一个混合C ++代码和HTML模板文件的大型项目。
我今天了解到,我应该将我对C ++文件(,只有那些)所做的更改合并到另一个分支上,但正如您可能猜到的那样:我不记得所有提交我做到了。
有没有办法让我通过git历史记录搜索所有符合所有这些条件的提交?
A
和提交B
.cpp
,.c
或.h
文件的更改(如果有帮助,则位于特定子目录中)。答案 0 :(得分:7)
我终于想出了如何做到这一点:
要搜索与特定作者匹配的提交,您可以使用--author
选项:
git log --author=ereOn
要从提交A
到B
搜索提交,请使用A..B
表单:
git log 9223253452..HEAD
最后,只关心涉及特定文件或路径的提交:
git log -- path_or_file
--
用于表示可选参数的结束和位置参数的开头。
全部合并,这给出了:
git log --author=ereOn 9223a6d916c034345..HEAD -- cpp_folder/*
这就像魅力一样:)
答案 1 :(得分:1)
查看git log
,正在运行git log --stat
会显示您正在寻找的许多详细信息,您可以通过将其设置为像git log --stat | grep searchterm
这样的grep进行搜索,但这只会给出你跟你的搜索词一致。
您可以使用此标记--author "your name"
在我的机器上git log
的输出是通过vim / less运行的,您可以使用vim的搜索命令(如/searchterm
)搜索日志,以查找所有出现的术语,转到下一个点击n
以转到上一个点击N
查看git log