2

gitログに基づいて履歴レポートを作成しようとしています。ただし、マージしてもマスター以外のブランチはスキップしたいのですが。たとえば、機能Xで動作するブランチを作成しました。このブランチには小さなコミットがたくさんあり、これらの小さなステップをレポートに表示したくありません。しかし、このブランチを「機能Xが実装されました」というメッセージとともにマスターにマージするときは、このマイルストーンをレポートに表示したいと思います。git初心者を助けてくれてありがとう。

4

2 に答える 2

3

そのブランチのコミット履歴全体をマージせずにブランチをマージする場合は、--squashコマンドを使用してmerge. これにより、実際にコミットを作成することなく、そのブランチから作業ディレクトリにすべての変更が適用されます。この時点で、履歴全体に対して単一のコミットを生成できます。したがって、 master次のようなブランチがある場合:

commit 69b2303df9884627ade245fff4a3376f39646cbd
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Mon May 14 13:24:56 2012 -0400

    commit on master

commit c8496d9ac4048a414faffb91486075ab0952e2d7
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Mon May 14 13:24:43 2012 -0400

    initial commit

newbranchそして、次のような別のブランチ:

commit 71587063a73368ea160a78cd6d130f828cb05e0e
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Mon May 14 13:25:36 2012 -0400

    commit 3 on new branch

commit 37ab4fc91c796ed05ecae0c8f504f263cee9603d
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Mon May 14 13:25:36 2012 -0400

    commit 2 on new branch

commit 5fd0768e355d1cba0905aaed327fb20ef263d6ef
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Mon May 14 13:25:36 2012 -0400

    commit 1 on new branch

commit 69b2303df9884627ade245fff4a3376f39646cbd
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Mon May 14 13:24:56 2012 -0400

    commit on master

commit c8496d9ac4048a414faffb91486075ab0952e2d7
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
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 <lars@seas.harvard.edu>
Date:   Mon May 14 13:26:29 2012 -0400

    merged newbranch into master

commit 69b2303df9884627ade245fff4a3376f39646cbd
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Mon May 14 13:24:56 2012 -0400

    commit on master

commit c8496d9ac4048a414faffb91486075ab0952e2d7
Author: Lars Kellogg-Stedman <lars@seas.harvard.edu>
Date:   Mon May 14 13:24:43 2012 -0400

    initial commit
于 2012-05-14T17:29:42.513 に答える
1

私があなたを正しく理解していれば、あなたが探しているのは基本的に master へのマージのリストです。

それが正しければ、これはうまくいくと思います:

git checkout master
git log --merges 
于 2012-05-14T17:26:07.510 に答える