如何通过API重命名GitHub存储库?

时间:2011-01-24 00:26:14

标签: git github-api

查看http://develop.github.com/p/repo.html处的GitHub API参考,我看到各种好东西,但我没有看到通过API重命名存储库的任何方法。有没有办法这样做?

5 个答案:

答案 0 :(得分:14)

为清晰起见创建一些变量:

user=MyUserName
pass=MyPassword
newName='{"name": "NewNameForRepo"}'
oldName="MyRepo"

然后使用curl发出请求:

curl -u "$user:$pass" -X PATCH -d "$newName" https://api.github.com/repos/$user/$oldName

答案 1 :(得分:2)

这可以通过Edit Repository GitHub API方法实现,但这是使用curl执行此操作的最简单示例:

curl \
 -H "Authorization: Token [token]" \
 -H "Content-Type:application/json" \
 -H "Accept: application/json" \
 -X PATCH \
 --data '{ "name": "new-repo-name" }' \
 https://api.github.com/repos/owner/old-repo-name

答案 2 :(得分:0)

braitsch已经说过的内容中添加其他注释,

如果要在组织下重命名存储库,请添加以下变量:

myToken='XXXX_Your_Personal_Access_Token_XXXX'
myOrg="MyGithubOrg"
newName='{"name": "NewNameForRepo"}'
oldName="MyRepo"

然后,发出如下卷曲请求:

curl -H 'Authorization: token $myToken' -X PATCH -d "$newName" https://api.github.com/repos/$myOrg/$oldName 

答案 3 :(得分:0)

如果我们使用 GitHub CLI:

gh alias set repo-rename 'api -X PATCH "repos/$1" -f name="$2"'

gh repo-rename username/oldreponame newreponame

答案 4 :(得分:-1)

创建一个新的仓库,推送到它并删除旧的仓库?