有没有办法从命令行或 git 在 GitHub Private 中创建所有存储库/存储库?

GIS*_*nny 3 git github repository github-api

我想遍历我的 GitHub 帐户并将我的所有 repo 设置为 Private。

我搜索了一下,不知道该怎么做?

Sau*_*ari 13

列出用户的所有公共存储库abc

 curl --request GET https://api.github.com/users/abc/repos
Run Code Online (Sandbox Code Playgroud)

要将xyz用户命名的特定存储库设置abc为 private :

curl -u abc:TOKEN --data "{\"private\": \"true\"}" --request PATCH https://api.github.com/repos/abc/xyz
Run Code Online (Sandbox Code Playgroud)

要将用户拥有的所有存储库设置abc为 private :

curl --request GET https://api.github.com/users/abc/repos | jq --raw-output '.[] .name' |  xargs -I % curl -u abc:TOKEN --data "{\"private\": \"true\"}" --request PATCH https://api.github.com/repos/abc/%
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 替换abc为您在 GitHub 上的用户名
  • 替换TOKEN为命令行的个人访问令牌。要生成一个遵循这个
  • curl实用程序可以从这里下载
  • jq可以从这里安装
  • 如果您使用 Windows 运行命令,请使用 git-bash(为了xargs实用程序兼容性)

参考: