Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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
如何从Github API创建孤立分支?_Git_Github_Github Api - Fatal编程技术网

如何从Github API创建孤立分支?

如何从Github API创建孤立分支?,git,github,github-api,Git,Github,Github Api,我想从githubapi创建gh页面分支。有没有一个简单的方法可以做到这一点 如果没有,我将如何从Github API创建孤立分支?您可以通过API的一部分创建分支。但是,我不确定是否可以用它创建一个孤立分支,或者API是否会阻止它 事实上,用curl测试它是行不通的: curl -X POST -u sigmavirus24 https://api.github.com/repos/sigmavirus24/github3.py/github3.py/refs -d '{"ref":"refs

我想从githubapi创建
gh页面
分支。有没有一个简单的方法可以做到这一点


如果没有,我将如何从Github API创建孤立分支?

您可以通过API的一部分创建分支。但是,我不确定是否可以用它创建一个孤立分支,或者API是否会阻止它

事实上,用curl测试它是行不通的:

curl -X POST -u sigmavirus24 https://api.github.com/repos/sigmavirus24/github3.py/github3.py/refs -d '{"ref":"refs/heads/orphaned"}'
curl -X POST -u sigmavirus24 https://api.github.com/repos/sigmavirus24/github3.py/github3.py/refs -d '{"ref":"refs/heads/orphaned", "sha":""}'
两者都返回:

{"message": "Reference update failed"}
我尝试了使用和不使用
内容类型
标题(
-H“Content-Type:application/json”
),但都不起作用


从这个小实验来看,您似乎无法通过API创建孤立的分支。

可以通过以下方式实现这一点:

  • 检查分支是否已存在
  • 如果没有,那么创建一个引用git
  • 然后创建对该提交的引用
  • 您可以找到一些CoffeeScript示例代码来说明如何从

    以下是这样创建的一个分支:


    更新:此方法仅在git存储库具有以前的孤立分支时有效。如果它是通过GitHub的API使用
    auto_init
    选项创建的新创建的回购协议,那么它将不起作用。我已经就此联系了GitHub。

    一家没有历史记录的分支机构。这与在命令行中键入
    git checkout--orphan gh pages
    相同。我可以使用指向根级别提交的sha创建引用(我创建的新提交没有父级)。创建提交时,我无法通过GithubAPI创建空树引用,而是必须创建一个包含虚拟文件的树。我目前正在使用这些解决方法,但我仍有兴趣了解是否有方法创建一个孤立分支,该分支引用指向空树的根级别提交。这个答案在创建一个新分支的详细信息中有详细说明