Git-如何获取默认分支?

hlswsv35  于 2022-09-21  发布在  Git
关注(0)|答案(3)|浏览(352)

我的团队在几个repos中交替使用dev和master作为默认分支,我想编写一个脚本,在进入目录时检查默认分支。

当在其中一些repos中打开Pull请求时,它们默认为‘dev’或‘master’作为合并目标。

我知道如何设置此信息,但不能检索它:https://help.github.com/articles/setting-the-default-branch/

是否有GIT命令可用于确定远程存储库的默认分支?

kknvjkwl

kknvjkwl1#

我找到了一种方法来检测默认分支,如果它不是主分支。

git remote show [your_remote] | sed -n '/HEAD branch/s/.*: //p'

我用GitLab的多次回购对其进行了测试,它运行良好。(对于大多数情况,[your_remote]将是origin,运行git remote以检查遥控器的名称)

vi4fp9gy

vi4fp9gy2#

在从Github克隆的repo中使用Git 2.9.4测试(但可能在其他版本中运行):

git symbolic-ref refs/remotes/origin/HEAD | sed 's@^refs/remotes/origin/@@'

示例输出:

master
ego6inou

ego6inou3#

git rev-parse --abbrev-ref origin/HEAD将打印origin/<default-branch-name>git symbolic-ref的答案也在做同样的事情,但需要更长的论证。

如果origin存储库更改其默认分支名称,则git remote set-head origin -a将检索新的默认分支名称。

相关问题