[英]How to get all equivalent branches on git working copy?
使用git branch
我只能将一个分支作为“当前”分支,即使签出的提交与多个分支匹配。
在像tig
这样的工具中,指向同一个提交的所有分支。 例如:
master upstream/master origin/master
如何从git
本身提取这些信息?
我想在我的提示中看到这一点(当我正在努力推出代码时,我知道我的工作副本与上游/主人一致是很重要的)。 是否有任何命令行工具可以提供这些信息?
目前我的bash提示包括
/usr/bin/git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
它只会显示“(master)”(即本地分支)。
git log -1 --pretty=%D
会得到你的文字
git branch --all --contains HEAD
git branch --all --points-at HEAD
是根据手册你正在寻找的东西:
-a, --all
List both remote-tracking branches and local branches.
--points-at <object>
Only list branches of the given object.
如果您还希望看到其他引用(例如标记)或在脚本中使用结果,则存在变体 - 在这种情况下,您不希望乱用sed
只是为了删除不必要的东西:
> git for-each-ref --points-at HEAD --format="%(refname:short)" refs/heads refs/remotes
master
otherbranch
origin/master
origin/HEAD
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.