2012-05-14 119 views
2

我想建立基於git日誌的歷史報告。但是我想跳過除主人以外的分支,即使他們合併。例如,我創建了分支來處理特性X.在這個分支中有很多小的提交,我不想在報告中看到這些小的步驟。但是,當我將這個分支合併到主要消息「Feature X實施」時,我希望看到這個里程碑。感謝您幫助git新手。Git的歷史報告

回答

1

如果我正確地理解了你,你要找的東西基本上是一個合併到master的列表。

如果這是正確的,那麼我相信這將工作:

git checkout master 
git log --merges 
+0

謝謝。唯一的問題是,這種方式忽略了原來在主人身上的承諾。但是,如果我將改變一項戰略,每一個里程碑都需要合併,那麼它對我來說很有用。 – Stan

3

如果您想合併一個分支,而不在整個合併提交歷史的分支,可以使用--squash命令merge。這會將所有從該分支發生的更改應用到工作目錄,而無需實際創建任何提交;此時,您可以爲整個歷史記錄生成一次提交。所以,如果你有master分支,看起來像這樣:

commit 69b2303df9884627ade245fff4a3376f39646cbd 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:24:56 2012 -0400 

    commit on master 

commit c8496d9ac4048a414faffb91486075ab0952e2d7 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:24:43 2012 -0400 

    initial commit 

而另一分支newbranch,看起來像這樣:

commit 71587063a73368ea160a78cd6d130f828cb05e0e 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:25:36 2012 -0400 

    commit 3 on new branch 

commit 37ab4fc91c796ed05ecae0c8f504f263cee9603d 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:25:36 2012 -0400 

    commit 2 on new branch 

commit 5fd0768e355d1cba0905aaed327fb20ef263d6ef 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:25:36 2012 -0400 

    commit 1 on new branch 

commit 69b2303df9884627ade245fff4a3376f39646cbd 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:24:56 2012 -0400 

    commit on master 

commit c8496d9ac4048a414faffb91486075ab0952e2d7 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:24:43 2012 -0400 

    initial commit 

然後,你可以這樣做:

git checkout master 
git merge --squash newbranch 
git commit -m "merged changes from newbranch" 

則日誌對於master分支將如下所示:

commit 0737d3dac5f769f837d4d0ce90ba1004c79d6a92 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:26:29 2012 -0400 

    merged newbranch into master 

commit 69b2303df9884627ade245fff4a3376f39646cbd 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:24:56 2012 -0400 

    commit on master 

commit c8496d9ac4048a414faffb91486075ab0952e2d7 
Author: Lars Kellogg-Stedman <[email protected]> 
Date: Mon May 14 13:24:43 2012 -0400 

    initial commit 
+0

非常感謝。絕對是個好主意,只有一步從卓越。我現在無法得知,如何確定,哪些分支已經合併,哪些分支合併到了主分支中。 – Stan