2012-08-29 37 views
13

我想看到我的所有地方分公司,但沒有遠程追蹤裁判的像origin/master如何使用git log --graph --oneline - 僅適用於我的本地分支機構?

此命令顯示了我一個很好的圖形裝飾着我所有的本地和遠程跟蹤分支:

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

什麼我應該在此命令中添加/刪除標誌以僅顯示本地分支?

+0

您的問題不是很清楚 –

+0

我應該如何修改git命令,以便我可以在圖中看到我的本地分支 – 0x90

+0

您是否希望看到它們中的所有*或僅共享歷史記錄可從'HEAD' ? – Christopher

回答

4

是不知道你需要什麼,但如何對這樣的:在案件

git log --graph --oneline --branches --not --remotes=*

注意,它可以過濾掉整個日誌(例如,當你有一個向上TO-日期 分支,所以你只有本地沒有東西)。詳情請諮詢git help log

如果您只需要姓名和最後一次提交,你可以簡單地使用:

git branch -v

也許你可以混合使用這些來滿足您的需求。

但我的首選是gitk --all,這裏是一個例子輸出:

enter image description here

+0

你能介紹第一個命令行嗎? 10x – 0x90

+0

@ 0x90它顯示了在任何本地分支但不在任何遠程倉庫分支中的所有提交(有關詳細信息,請參閱'git help log',在那裏您可以在示例部分找到詳細討論的內容)。 – rlegendi

+1

儘管有--graph作爲標誌(儘量使用git 1.8.4),但這似乎並沒有在圖表中顯示結果 – pavon

0

你可以試試這個:

git --oneline --graph --decorate $(git branch | tr -d ' *' | awk '{ print "master~1.."$0 }') 

它並不完美,但應該讓你體面的輸出。

13

這會告訴你所有的本地分支機構。

git log --graph --oneline --branches 

git log --help

--branches[=<pattern>] 
    Pretend as if all the refs in refs/heads are listed on the command line as <commit>. 
    If <pattern> is given, limit branches to ones matching given shell glob. 
    If pattern lacks ?, *, or [, /* at the end is implied. 

所以--branches就足夠了。我想添加--decorate並給整個命令一個簡短的別名。