2012-09-17 74 views
2

我正在研究混合C++代碼和HTML模板文件的大型項目。搜索特定提交

我今天知道我應該將另一個分支上的C++文件()的更改合併到一起,但正如您可能猜到的那樣:我不記得我所做的所有提交。

有沒有辦法讓我通過git歷史來搜索所有匹配的提交所有這些條件

  • 都是由我
  • 書面分別位於提交A,並承諾B
  • 含更改.cpp.c.h文件(那些位於特定的子目錄是否有幫助)之間。

回答

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/* 

這就像一個魅力:)

+0

你應該接受你自己的答案,如果它是針對已經發布的最佳答案的作品! –

+0

@WillVousden:只能在2天內完成:) – ereOn

+0

你能解釋一下嗎? – JKirchartz

1

查找到git log,運行git log --stat會出現很多的您正在尋找,你可以通過管道就到grep像git log --stat | grep searchterm搜索的細節,但這隻會給你與你的搜索項線。

您可以限制它使用此標誌--author "your name"

在我的機器git log的輸出筆者通過VIM運行/更少,與您可以用vim的搜索命令搜索日誌像/searchterm,找到所有出現任期,要到下一個打n去前面的命中N

退房的手冊頁git log