我需要创建一个分支,然后使用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"
}
答案 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”
如果会为您创建一个叉子:
创建请求请求
创建分支,进行几次提交以修复问题中描述的错误,然后使用
gh
创建请求请求以共享您的贡献。
通过使用GitHub CLI创建请求请求,它还会在您尚未创建分支时自动创建分支,并推送分支并创建请求请求以合并您的更改。
答案 2 :(得分:0)
使用以下 link 查看创建新分支(AKA:refs)的命令和使用此 link 查看如何验证凭据,我可以创建一个新的空分支。如果你在没有验证的情况下使用命令,你会得到一个令人困惑的答案
<块引用>"message": "未找到"
我按照此步骤创建了一个名为:
使用此命令获取 SHA -> GET https://api.github.com/repos/{username}/{repository}/git/refs/heads 并复制一个 SHA(在我的情况下,所有内容都相同)
使用此 link 创建令牌并复制它。此令牌将在参数中用于创建分支。
使用此命令创建新分支 -> POST https://api.github.com/repos/{username}/{repository}/git/refs,在头部和正文中设置基本授权 {username}:{token} 如下内容:
{ "ref": "refs/heads/{BranchName}", "sha": "{SHA 在步骤 1 中复制}" }
最后会得到新分支的信息