如何获得git工作副本上的所有等效分支?

时间:2018-10-09 17:07:54

标签: bash git

使用git branch,即使签出的提交匹配多个分支,我也只能获得一个分支作为“当前”分支。

tig之类的工具中,所有指向同一提交的分支。例如:

master upstream/master origin/master

如何从git本身中提取此信息?

我想在提示符下看到它(对我来说,很重要的一点是,在我推出代码时,我的工作副本与上游/主副本是一致的)。是否有任何命令行工具可以向我提供此信息?

当前我的bash提示包括

/usr/bin/git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'

仅显示“(主)”(即本地分支)。

3 个答案:

答案 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