2016-04-28 52 views
5

我正在嘗試使用分支diff命令,並且我已經全部正常工作......除格式化之外。我可以使用--pretty=oneline來顯示我想要的信息,除了它顯示完整散列,並且不着色輸出。從git rev-list格式排除前面的提交>行

所以它會只輸出這樣的:

fa73c05913292fbce940075fc8f454bad5066666 Example Commit Message 
de4dbeffa249393dddebb7b13ae555cb97cad5be Another Example Commit Message 

如果我嘗試做一個自定義格式字符串,比如這個:--pretty="format:%C(yellow)%h%C(reset) %s",它的工作原理,但它也顯示它上面的附加導線。

E.g.

commit >fa73c05913292fbce940075fc8f454bad5066666 
fa73c05 Example Commit Message 
commit >de4dbeffa249393dddebb7b13ae555cb97cad5be 
de4dbef Another Example Commit Message 

有沒有辦法有git rev-list輸出,而不前面commit >abcdef3...線的格式?

+2

'git rev-list'和'git log'基本上是相同的命令,除了輸出格式和'git log'將從'HEAD'開始的事實(如果沒有給出起點的話)。因此'git log --format = ... <額外的rev-list參數>'會在這裏實現。 – torek

+0

@torek啊,這會工作。我只需要用'..'來分隔參數,我很難過。我已經設法得到'git rev-list branch-name .. | sed -e 1b -e'$!d'| sed -e「s/\ n /../」',但這似乎不起作用。 –

+1

你究竟想要這個「分支差異命令」做什麼?它可能已經被提供爲git的許多瑞士軍用鏈鋸(沒有護手)工具之一... – torek

回答

2

要離開那些答案誰還會來在他的評論中提到的未來/

@torec如下:

git rev-listgit log在本質上是相同的命令

答案是使用以下格式:

# print out the log history in the desired format. 
git log --pretty="format:..." <SHA-1>