4

すべてのブランチからすべてのコミットを取得する必要があります。コマンドを使用してそれらを取得します。

git log --pretty="%H %f" --all

しかし、この場合、Git はメモ付きのすべてのコミットを返します (存在する場合)。私は次のようなものを使用しようとしました:

 git log --pretty="%H %f" --all --no-notes

コマンド「--all」が「--no-notes」を上書きし、何も起こらないようです。

メモなしですべてのブランチからすべてのコミットを取得する方法を教えてください。

PS はい、「git notes」を実行して解析し、「git log --all」から減算することもできますが、そのような些細な状況にはもっと簡単な解決策があるはずです。

4

2 に答える 2

2

あなたが言ったように、--allオーバーライドします--no-notes。そのため、分割--allして、必要な参照のみを含めることができます。すべてのブランチを表示したいだけの場合:

git log --pretty="%H %f" --no-notes --branches

またはもっと欲しい場合:

git log --pretty="%H %f" --no-notes --branches --tags --remote 
于 2012-10-11T16:20:56.583 に答える
0

きれいではありませんが、 の代わりに--all、次のようにすることができます。

git log --pretty="%H %f" `git for-each-ref --format="%(refname)" | grep -v refs/notes`

または、他の方法で、ログに記録したい参照のみを列挙します。これは、多くのブランチ/タグがある場合、当然のことながら退屈になる可能性があります...

于 2012-10-11T15:15:20.543 に答える