我的团队在几个repos中交替使用dev和master作为默认分支,我想编写一个脚本,在进入目录时检查默认分支。
当在其中一些repos中打开Pull请求时,它们默认为‘dev’或‘master’作为合并目标。
我知道如何设置此信息,但不能检索它:https://help.github.com/articles/setting-the-default-branch/
是否有GIT命令可用于确定远程存储库的默认分支?
我的团队在几个repos中交替使用dev和master作为默认分支,我想编写一个脚本,在进入目录时检查默认分支。
当在其中一些repos中打开Pull请求时,它们默认为‘dev’或‘master’作为合并目标。
我知道如何设置此信息,但不能检索它:https://help.github.com/articles/setting-the-default-branch/
是否有GIT命令可用于确定远程存储库的默认分支?
3条答案
按热度按时间kknvjkwl1#
我找到了一种方法来检测默认分支,如果它不是主分支。
我用GitLab的多次回购对其进行了测试,它运行良好。(对于大多数情况,
[your_remote]
将是origin
,运行git remote
以检查遥控器的名称)vi4fp9gy2#
在从Github克隆的repo中使用Git 2.9.4测试(但可能在其他版本中运行):
示例输出:
ego6inou3#
git rev-parse --abbrev-ref origin/HEAD
将打印origin/<default-branch-name>
。git symbolic-ref
的答案也在做同样的事情,但需要更长的论证。如果
origin
存储库更改其默认分支名称,则git remote set-head origin -a
将检索新的默认分支名称。