如何使用git log --graph --on - 只为我的本地分支?

时间:2012-08-29 12:09:15

标签: git

我希望看到我所有的本地分支机构,但没有一个远程跟踪引用origin/master

这个命令显示了一个装饰着我所有本地和远程跟踪分支的漂亮图表:

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

我应该在此命令中添加/删除哪个标志以仅显示本地分支?

4 个答案:

答案 0 :(得分:22)

这将显示所有当地分支机构。

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并给整个命令一个简短的别名。

答案 1 :(得分:5)

不确定你需要什么,但是如何:

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

请注意,它可能会过滤掉整个日志(例如,当您拥有最新版本时) 分支,所以没有你只在本地)。有关详细信息,请参阅git help log

如果您只需要名称和最后一次提交,您只需使用:

git branch -v

可能你可以将它们混合起来以满足你的需求。

但我首选的是gitk --all,这是一个示例输出:

enter image description here

答案 2 :(得分:1)

你可以试试这个:

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

这不是完美的,但应该给你一个不错的输出。

答案 3 :(得分:1)

正如其他人提到的那样,问题并不清楚,但是如果像我一样,您真正想做的就是装饰仅本地分支机构,而将是未装饰的远程分支机构,您可以使用以下调用的变体:

git log --graph --oneline --decorate-refs=refs/heads

其中的关键参数是--decorate-refs=refs/heads

例如,这将导致

(base) jdoubled@aig35 ~/packages/solarized $ git log --graph --decorate --pretty=oneline --abbrev-commit --all -n9
* 7ef17bf (HEAD -> topic_demoX) this demos going great
* b583669 (master) stupid empty commit for illustration only
* e40cd41 (origin/master, origin/HEAD) add tmux by @seebi!
*   ab3c564 Merge pull request #256 from sgerrand/add-credit-for-xfce4-terminal-port
|\
| * 4f90b03 Adds attribution for Xfce terminal port. Fixes #255.
* | 8a909d3 merge upstream xfce4-terminal changes
* | 04583c9 merge upstream gedit changes
* | f9e5943 add gedit back as a subtree
* | 53bfffc remove gedit submodule

到(注意e40c上没有'origin / master')

(base) jdoubled@aig35 ~/packages/solarized $ git log --graph --decorate --pretty=oneline --abbrev-commit --all -n9 --decorate-refs=refs/heads
* 7ef17bf (topic_demoX) this demos going great
* b583669 (master) stupid empty commit for illustration only
* e40cd41 add tmux by @seebi!
*   ab3c564 Merge pull request #256 from sgerrand/add-credit-for-xfce4-terminal-port
|\
| * 4f90b03 Adds attribution for Xfce terminal port. Fixes #255.
* | 8a909d3 merge upstream xfce4-terminal changes
* | 04583c9 merge upstream gedit changes
* | f9e5943 add gedit back as a subtree
* | 53bfffc remove gedit submodule

对于类似的问题,{@ {3}}

还请注意,decorate-refs功能是在荒谬的1.8(我的系统管理员提供的版本)和git 2.28版本之间添加的。也许有人可以发表评论,说明可能的特定版本。