我正在处理一个混合了 C++ 代码和 HTML 模板文件的大型项目。
我今天得知我应该将我对 C++ 文件所做的更改(并且只有那些) merge 到另一个分支上,但正如您可能猜到的那样:我不记得所有的提交我做到了。
有没有办法让我通过 git 历史搜索所有符合所有这些条件的提交?
- 是我写的
- 位于提交
A
和提交B
之间 - 包含对
.cpp
、.c
或.h
文件的更改(如果有帮助,这些文件位于特定的子目录中) .
最佳答案
我终于想出了如何做到这一点:
要搜索与特定作者匹配的提交,您可以使用 --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/*
这就像一个魅力:)
关于git - 搜索特定的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12459440/