github创建新分支并提取请求-使用REST API

时间:2018-11-12 10:18:50

标签: rest github github-api

我需要创建一个分支,然后使用REST API进行拉取请求。首先,我厌倦了使用以下curl命令创建一个新分支。

[root@localhost tmp]# curl -d '{ "ref": "refs/heads/new_branch", "sha": "aa218f56b14c9653891f9e74264a383fa43fefbd" }' -u user-name -X POST https://api.github.com/repos/user-name/myrepo/git/refs
Enter host password for user 'user-name':
{
  "message": "Object does not exist",
  "documentation_url": "https://developer.github.com/v3/git/refs/#create-a-reference"
}

3 个答案:

答案 0 :(得分:0)

一个很好的替代方法是使用集线器。 https://github.com/github/hub

答案 1 :(得分:0)

更好的替代方法(自2020年2月开始)是使用new GitHub cli,它替代/提供github/hub的替代方法。

请参见“ GitHub CLI is now in beta ”和“ Supercharge your command line experience

它是cli.github.com

如果会为您创建一个叉子:

创建请求请求

创建分支,进行几次提交以修复问题中描述的错误,然后使用gh创建请求请求以共享您的贡献。

cli create pr -- https://i1.wp.com/user-images.githubusercontent.com/10404068/74261506-35df4080-4cb0-11ea-9285-c41583009e6c.png?ssl=1

通过使用GitHub CLI创建请求请求,它还会在您尚未创建分支时自动创建分支,并推送分支并创建请求请求以合并您的更改。

答案 2 :(得分:0)

使用以下 link 查看创建新分支(AKA:refs)的命令和使用此 link 查看如何验证凭据,我可以创建一个新的空分支。如果你在没有验证的情况下使用命令,你会得到一个令人困惑的答案

<块引用>

"message": "未找到"

我按照此步骤创建了一个名为:

  1. 使用此命令获取 SHA -> GET https://api.github.com/repos/{username}/{repository}/git/refs/heads 并复制一个 SHA(在我的情况下,所有内容都相同)

  2. 使用此 link 创建令牌并复制它。此令牌将在参数中用于创建分支。

  3. 使用此命令创建新分支 -> POST https://api.github.com/repos/{username}/{repository}/git/refs,在头部和正文中设置基本授权 {username}:{token} 如下内容:

    { "ref": "refs/heads/{BranchName}", "sha": "{SHA 在步骤 1 中复制}" }

  4. 最后会得到新分支的信息