1
假設我有以下查詢:你可以把git日誌日誌正則表達式匹配組放在git漂亮的輸出中嗎?
git log -100 -i --grep="^\[.*JIRA.*\]"
這是假定一個git評論像
"[JIRA1234] Adding the graph to the customer balance page"
然後我想格式化輸出,顯示只是匹配組如[JIRA1234]
。
現在,我想我應該能夠做到這一點:
git log -100 -i --grep="^\[.*JIRA.*\]" --pretty="%1"
但是,這並不工作。
另一種方式來做到這一點是通過管道進入grep的
git log -100 -i --grep="^\[.*JIRA.*\]" --pretty=oneline | grep -o '\[.*JIRA.*'
但你失去添加作者姓名和其他技巧與git log --pretty
輸出的能力。
我的問題是:你可以把git log log正則表達式匹配組放在git漂亮的輸出中嗎?
愚蠢的問題 - 如果你把它變成grep,你爲什麼需要兩次git日誌?爲什麼你不能像使用管道grep一樣在問題示例中使用它? – hawkeye
@hawkeye在while循環中,第一個獲取匹配模式的字符串的第一個git日誌,第二個獲取格式日誌。 '--pretty = oneline'忽略提交日誌消息的主體,但只顯示主題。此外,你的例子可能比模式更匹配。 – ElpieKay
任何時候你的'--pretty'格式只是'%H',你可能直接使用'git rev-list'('git log'和'git rev-list'採取相同的選項,因爲它們是就源代碼而言幾乎只有一個命令)。 (我現在更喜歡'--no-walk'到'-1',儘管這實際上更長時間來表達:-)並且性能基本相同。) – torek