我希望看到我所有的本地分支机构,但没有一个远程跟踪引用origin/master
这个命令显示了一个装饰着我所有本地和远程跟踪分支的漂亮图表:
git log --oneline --graph --decorate --all
我应该在此命令中添加/删除哪个标志以仅显示本地分支?
答案 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
,这是一个示例输出:
答案 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版本之间添加的。也许有人可以发表评论,说明可能的特定版本。