32

我想查看我所有的本地分支机构,但没有一个远程跟踪参考像origin/master

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

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

我应该在此命令中添加/消除什么标志以仅显示本地分支?

4

4 回答 4

36

这将向您显示所有本地分支机构。

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

于 2016-02-20T04:17:19.870 回答
16

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

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

请注意,它可能会过滤掉整个日志(例如,如果您有一个最新的分支,因此您只有本地没有任何东西)。详情请咨询git help log

如果您只需要名称和最后一次提交,您可以简单地使用:

git branch -v

也许你可以混合这些来满足你的需要。

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

在此处输入图像描述

于 2012-08-29T12:26:42.047 回答
1

你可以试试这个:

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

它并不完美,但应该会给您带来不错的输出。

于 2016-02-01T19:30:17.393 回答
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

to(注意 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

荣誉应该去这个类似问题的答案:https ://stackoverflow.com/a/55730910/13938570

另请注意,decorate-refs 功能是在可笑的古老 1.8(我的系统管理员提供的版本)和 2.28 版本的 git 之间添加的。也许有人可以评论这成为可能的具体版本。

于 2020-08-06T06:46:09.750 回答