2012-04-26 66 views

回答

11

首先,你不能簡單地否定一個正則表達式中的單詞,只要在它前面放一個巨大的聲音(你在哪找到這個單詞?)。您可能使用過lookarounds,但常規的grep正則表達式不支持它們。直接使用grep你可以通過-P選項來使用更強大的Perl正則表達式,但是我沒有找到類似的git log選項。

雖然,有--no-merges選項,會過濾掉所有合併從日誌中承諾:

git log --no-merges 

手冊頁說,--no-merges意味着:

不打印與多個父提交

+1

+1 - - 合併提示;) – Konstantinos 2012-04-26 14:10:22

2

這是不正確的你使用正則表達式像這樣的事情會更好:

git log | grep -o '^(Merge)'

,這將提供更多的信息:

git log --pretty=format:'%h by %an, %ar, %s' | grep -o '^((?!Merge).)*$'

我想你用!爲了反轉它,但我知道的唯一已知的逆向反向搜索方式就像上面那樣。仍然 - 不合並會提供更好的信息,只是爲將來的保護寫

+0

不幸的是,這將只返回提交消息,更多信息。 – 2012-04-26 23:05:36

+0

更新了我的回答,但你的回答更好,只是爲了將來的保證 – Learath2 2012-04-26 23:23:29

+0

謝謝你的回答Learath2。接受KL-7的事件,儘管它不是我正在尋找的東西。說,它做了訣竅:D – Konstantinos 2012-04-30 14:42:09