在 GitHub 上,个人账号的私密仓库(Private Repository)默认添加的协作者(Collaborator)通常拥有 写(Write)权限(即可以拉取也可以推送代码)。
如果你想实现**“只有拉取权限(Read-only)”**,GitHub 的个人基础版和专业版(Pro)的操作逻辑有所不同:
方案一:使用 GitHub 组织(Organization)- 最推荐/最正规
在 GitHub 个人账号下,无法细分协作者的权限。要实现“只读”,最简单的方法是创建一个免费的 组织。
-
创建组织:点击 GitHub 右上角
+-> New organization(选择 Free 计划,完全免费)。 -
迁移/新建仓库:在组织下创建私密仓库。
-
设置权限:
-
进入组织的 Settings -> Teams。
-
创建一个 Team(例如叫 "Viewers")。
-
将对方加入这个 Team。
-
在仓库的 Settings -> Collaborators and teams 中添加这个 Team,并将权限级别设为 Read。
-
方案二:使用部署密钥(Deploy Keys)- 适合给开发人员/服务器
如果你只是想让对方在 Linux 服务器上拉取代码,而不需要他们用自己的账号登录,这是最安全的方法。
-
让对方生成 SSH Key:
在他们的服务器或电脑执行:
ssh-keygen -t ed25519。 -
获取公钥:
让他们把
.ssh/id_ed25519.pub文件里的内容发给你。 -
配置只读密钥:
-
进入你的私密仓库 -> Settings -> Deploy keys。
-
点击 Add deploy key。
-
粘贴公钥内容,起个名字(如 "Project-Server")。
-
关键点:不要 勾选 "Allow write access"(允许写权限)。
-
-
结果:对方只能通过 SSH 方式
git clone,无法推送任何修改。
方案三:个人账号直接添加(无法限制“只写”)
如果你直接在个人仓库的 Collaborators 里添加对方,对方自动获得读写权限。
-
如果你不介意对方有写权限:直接在 Settings -> Collaborators -> Add people 添加即可。
-
如果你必须限制为只读:个人账号目前不支持对单个 Collaborator 设置 Read-only,必须使用上述的“方案一(组织)”或“方案二(Deploy Key)”。
总结:该选哪种?
| 场景 | 推荐方案 | 优点 |
| 正式团队协作/多人查看 | 方案一(组织) | 权限管理最清晰,以后加人也方便。 |
| 给外包/临时开发人员拉取 | 方案二(Deploy Key) | 对方不需要 GitHub 账号也能拉取,且绝对无法改你代码。 |
| 仅仅是想给朋友看一眼 | 方案三(个人协作) | 操作最快,但对方能改你的代码(需信任对方)。 |
声明:本文网友投稿,观点仅代表作者本人,不代表鲁班SEO赞同其观点或证实其描述。
声明:本文网友投稿,观点仅代表作者本人,不代表鲁班SEO赞同其观点或证实其描述。
