Gitはログにすべてのブランチ(スタッシュは除く)を表示します


84

次のように展開されるGitエイリアスがあります。

git log --graph --oneline --all --decorate

よると、man git log不審なオプションのカップルですが。--not--branches。しかし、私はそれを正しく動作させることができません。

隠し場所を非表示にするには、どのように編集すればよいですか?


参考受け入れられた質問コメントによると、私の.gitconfigエイリアスは次のようになります。

[alias]
    l = log --branches --remotes --tags --graph --oneline --decorate --notes HEAD

回答:


125

--allスタッシュを実行してフィルターで除外する代わりに、そもそもスタッシュを含めないでください。

git log --branches --remotes --tags --graph --oneline --decorate

後でそれらをフィルターで除外しようとすると発生する主な問題は、スタッシュがそのブランチの最新のコミットである場合(ブランチのコミットではない場合でもhead、ブランチの最新の子孫であるため)、実際にフィルターで除外できることです。ログからのブランチ全体。これは必要なものではありません。


2
すごい!--tags完全を期すために追加します。
cYrus 2012

--tagsはこれをhead確認していませんが、タグがブランチまたはリモートの子孫であってはならないので、冗長であると思われます。
アンドリューマーシャル

3
これを試してみました:git checkout -b test; コミットを追加しました; git tag foo; git checkout master; git branch -D test。タグはありますが、がないと表示されません--tags
cYrus 2012

2
1つの小さな追加-HEAD最後に追加する必要があります。それ以外の場合、分離されたHEADモードで、他のrefがHEADコミットを指していない場合、グラフには表示されません。
mziwisky 2015年

6

私のエイリアス:

[alias]
    l = log --oneline --decorate --graph --exclude=refs/stash

この場合、隠し場所を表示せずにこれらのフォームを使用できます。

  • git l 現在のブランチの
  • git l feature234 特定のブランチ用
  • git l --all 全体的な歴史のために

マニュアルから:

--exclude = <グロブパターン>

次の--all、-branches、-tags、-remotes、または--globが他の方法で考慮すると一致する参照を含めないでください。


4
パラメータの順序が重要であることに注意してください。--all --exclude=refs/stashスタッシュは引き続き含まれますが、--exclude=refs/stash --all正しく除外されます。
MikhailBurshteyn18年

4

Andrewの答えは、StGit 1.)ブランチ<branch>.stgit(StGitバージョン0.15から)を非表示にする場合には機能しないことに注意してくださいそうしないと、出力が散らかって使用できなくなります。

現在、私は次のソリューションを使用しています。

$ git log --graph --oneline --decorate \
  $(git for-each-ref --format="%(refname)" refs/heads/ refs/remotes/ |
    grep -v "\.stgit$")

1.) StGit( " St acked Git ")は、GitにQuilt / mqのような機能を提供します(つまり、スタックへのパッチのプッシュ/スタックからのパッチのポップ)。


の使用を検討してください--exclude。のように:git log --graph --exclude=refs/heads/*.stgit --exclude=refs/patches/* --exclude=refs/stash --all
Givenkoa 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.