使用git branch
,即使签出的提交匹配多个分支,我也只能获得一个分支作为“当前”分支。
在tig
之类的工具中,所有指向同一提交的分支。例如:
master upstream/master origin/master
如何从git
本身中提取此信息?
我想在提示符下看到它(对我来说,很重要的一点是,在我推出代码时,我的工作副本与上游/主副本是一致的)。是否有任何命令行工具可以向我提供此信息?
当前我的bash提示包括
/usr/bin/git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
仅显示“(主)”(即本地分支)。
答案 0 :(得分:3)
git log -1 --pretty=%D
将为您提供文字
答案 1 :(得分:1)
git branch --all --contains HEAD
答案 2 :(得分:1)
<button v-can="'register-permission'">Register</button>
<button v-can="'buy-permission'">Buy</button>
<button v-can="'Sell-permission'">Sell</button>
是您要根据手册查找的东西:
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