2016-12-02 62 views
1

我目前使用git log -G "XYZ" -p來搜索某些事物(如類)的過去更改,但經常會遇到差異非常大的問題,並且很難找到搜索詞更改的實際行。有沒有辦法將輸出限制爲只有該行或僅有幾行?如何使用git log並只輸出匹配的行?


解決方案:git grep xyz $(git rev-list --all --max-count=5)

--max-count是可選的(我需要它,以避免錯誤Argument list too long

+0

使用'grep'也許,取決於你使用的平臺 – nullpointer

+0

'grepdiff'可能有幫助。 – Gregg

回答

1

你可以做的grep像git log -G "XYZ" -p | grep pattern,如果窗口使用FINDSTR ..

而不是使用--max-count, - 因爲和--until會更好,如果你知道appr。時間段您要搜索

git grep xyz $(git rev-list --since="2016-11-20" --until="2016-11-21" --all)

但是最好的方法將在2部分使用。 1)確定提交,文件名和使用以下命令

1)git grep -c xyz $(git rev-list --all)

通算這個數目提交以下命令來獲取準確的問題

2)git grep xyz 718dcc690d8e99fd399f21fd71c86b1b8812a53d

+0

這似乎沒有爲我返回任何東西。 – Nil

+0

對不起,我的意思是圖案與XYZ值相同.. – Girish

+0

啊,我明白了。因此,這隻能輸出行更改,但不再輸出文件名或提交信息。 – Nil

相關問題