web-dev-qa-db-ja.com

Gitブランチ構造を表示する

Gitでブランチ構造のみを表示する方法はありますか?コミットをグラフィカルに表示するツールは多数ありますが、私の場合、リストが長すぎるため、構造を見ることができません。 git-logが答えになると思いますが、ブランチのコミットのみを表示するスイッチは見つかりません。これと「--graph --branches --oneline --all」を組み合わせることでトリックを実行できます。

編集:私はUbuntuでこれを行う方法を探しています。

34
Makis

「ブランチ構造」とはどういう意味かわかりません。
git logは、コミットによって作成されたブランチを視覚化するのに役立ちます(これを参照してください ブログ投稿 ):

[alias]
    lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative

git config --global alias.lg "log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative"

alt text

しかし、異なるHEADブランチのみが必要な場合は、 (に沿って

heads = !"git log Origin/master.. --format='%Cred%h%Creset;%C(yellow)%an%Creset;%H;%Cblue%f%Creset' | git name-rev --stdin --always --name-only | column -t -s';'"

(- column command 、そしてここでは最後のコミット以降のみOrigin/masterコミット)

注: JakubNarębski オプションの追加を推奨--simplify-by-decoration、「 彼の答え 」を参照してください。

34
VonC

おそらくあなたが望むのは--simplify-by-decorationオプション、 git log のドキュメントを参照:

-装飾による簡略化

いくつかのブランチまたはタグによって参照されるコミットが選択されます。

だからそれは

git log --graph --simplify-by-decoration --all

または以下 VonC回答

git log --graph --simplify-by-decoration \
   --pretty=format:'%Cred%h%Creset-%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' \
   --abbrev-commit --date=relative
29
Jakub Narębski

何か足りないかもしれませんが、誰もgitk --allまだ。

9
Benjol

基本的なソリューションは次のとおりです。

git log --graph --all

もっと豪華にしたい場合:

git log --graph --all --pretty=format:"%Cblue%h%Creset [%Cgreen%ar%Creset] %s%C(yellow)%d%Creset"
6
cmcginty

gitx macOSを使用している場合

smartgit for macOSまたはWindows(ただし、使用していません)

git-gui ネイティブのgit guiを使用する(クロスプラットフォーム)

3
PurplePilot

特定のブランチがリポジトリおよびリモートの他のブランチとどのように関連するかについての詳細情報を取得するには、William Morganによるアドオンスクリプトであるgit wtfを使用できます。 http:// git-wt-commit .rubyforge.org /

次のような要約情報を生成します。

$ git wtf
Local branch: master
[x] in sync with remote
Remote branch: Origin/master ([email protected]:willgit/mainline.git)
[x] in sync with local

Feature branches:
{ } Origin/experimental is NOT merged in (1 commit ahead)
    - some tweaks i'm playing around with [80e5da1]
{ } Origin/dont-assume-Origin is NOT merged in (1 commit ahead)
    - guess primary remote repo from git config instead of assuming "Origin" [23c96f1]

(上記のURLからの例)。

2
Emil Sit