Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Gitlab';s API,如何在分支之间切换?_Git_Gitlab - Fatal编程技术网

使用Gitlab';s API,如何在分支之间切换?

使用Gitlab';s API,如何在分支之间切换?,git,gitlab,Git,Gitlab,我想使用Gitlab的API从我的master分支切换到我的development分支,我已经研究了所有可用的文档化API,但没有这样的API 以前有人尝试过这个,因为这是一个非常常见的场景吗 是否可以通过API执行相同操作?在分支之间切换 在GitLab服务器端(GitLab API所指),您不切换分支,因为GitLab正在管理(没有工作树的repo,任何分支都已签出) 您的意思可能是:“如何更改默认分支”(用户克隆GitLab管理的远程repo时默认签出的分支) 这在gitolite(见“”

我想使用Gitlab的API从我的
master
分支切换到我的
development
分支,我已经研究了所有可用的文档化API,但没有这样的API

以前有人尝试过这个,因为这是一个非常常见的场景吗


是否可以通过API执行相同操作?

在分支之间切换

在GitLab服务器端(GitLab API所指),您不切换分支,因为GitLab正在管理(没有工作树的repo,任何分支都已签出)

您的意思可能是:“如何更改默认分支”(用户克隆GitLab管理的远程repo时默认签出的分支)

这在gitolite(见“”)中是可能的。
然而,GitLab并不是这样的:相关的API应该是“”,但“”部分不包括任何更改GitLab管理的裸回购的
头的符号ref的内容

这意味着您必须在裸机回购中的服务器上执行以下操作:

git-symbolic-ref HEAD refs/head/development 

提到:


如果您使用的是omnibus软件包,您可能没有在通常的位置安装git。
我必须做:


我想切换分支(或者更恰当地更改我的默认分支),因为我想为不同的分支(对于master、development等)获取存储库树,如果您看到Gitlab的web界面,当您单击“文件”选项卡时,您可以在下拉列表中选择分支,存储库树将更改。他们是怎么做到的?有什么方法可以使用现有的API来实现吗?我愿意为此编写一个新的API,但如果我能使用一个现有的API就更好了。我得到了它,再次感谢您,我只需要发送一个ref_name参数作为分支名称,以列出存储库树API。@ArifNadeem是的,支持列出repo树。如果您使用的是omnibus软件包,您可能没有在通常的位置安装git。我必须做
/opt/gitlab/embedded/bin/git-symbolic-ref-HEAD-refs/heads/development
@oninjake-good-point。我已将其包含在答案中,以提高可见性。
/opt/gitlab/embedded/bin/git symbolic-ref HEAD refs/heads/development.