在将本地项目与 Git 远程仓库关联并进行操作时,设置权限通常涉及到使用不同协议(HTTPS 和 SSH)的身份验证方式,下面分别介绍在常见的 Git 托管平台(如 GitHub、GitLab)中设置权限的方法。
使用 HTTPS 协议设置权限
1. 个人访问令牌(适用于 GitHub、GitLab 等)
个人访问令牌是一种替代密码进行身份验证的方式,增强了安全性。
GitHub
- 生成个人访问令牌
- 登录 GitHub 账号,点击右上角头像,选择 “Settings”。
- 在左侧菜单中选择 “Developer settings”。
- 点击 “Personal access tokens”,再选择 “Tokens (classic)”。
- 点击 “Generate new token”,选择合适的权限范围(如
repo以访问仓库),设置过期时间等信息后点击 “Generate token”。 - 生成后,务必复制并妥善保存该令牌,因为页面刷新后将无法再次查看。
- 使用个人访问令牌进行身份验证
当你执行git push或git pull等操作时,在要求输入密码的地方输入该个人访问令牌即可。
GitLab
- 生成个人访问令牌
- 登录 GitLab 账号,点击右上角头像,选择 “Edit profile”。
- 在左侧菜单中选择 “Access Tokens”。
- 输入令牌名称、选择过期时间和权限范围(如
api、read_repository等),点击 “Create personal access token”。 - 同样,生成后要复制并保存好令牌。
- 使用个人访问令牌进行身份验证
与 GitHub 类似,在执行相关 Git 操作输入密码时使用该令牌。
使用 SSH 协议设置权限
(亲测有效)
1. 生成 SSH 密钥
打开终端,执行以下命令生成 SSH 密钥对(一般使用 RSA 算法):
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-t rsa:指定使用 RSA 算法生成密钥。-b 4096:指定密钥长度为 4096 位。-C "your_email@example.com":添加注释信息,方便识别密钥,建议使用你的 Git 托管平台注册邮箱。
按照提示操作,默认情况下密钥文件会生成在~/.ssh/id_rsa(私钥)和~/.ssh/id_rsa.pub(公钥)。
2. 将公钥添加到 Git 托管平台
GitHub
- 登录 GitHub 账号,点击右上角头像,选择 “Settings”。
- 在左侧菜单中选择 “SSH and GPG keys”。
- 点击 “New SSH key”,在 “Title” 中输入一个标识名称,将
~/.ssh/id_rsa.pub文件中的内容复制到 “Key” 文本框中,最后点击 “Add SSH key”。
GitLab
- 登录 GitLab 账号,点击右上角头像,选择 “Settings”。
- 在左侧菜单中选择 “SSH Keys”。
- 将
~/.ssh/id_rsa.pub文件内容复制到 “Key” 文本框,输入一个可选的 “Title” 和 “Expiration date”,点击 “Add key”。
3. 验证 SSH 连接
执行以下命令验证 SSH 连接是否成功:
ssh -T git@github.com # 对于 GitHub
ssh -T git@gitlab.com # 对于 GitLab
如果看到类似 “Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.”(GitHub)或 “Welcome to GitLab, @username!”(GitLab)的提示,则表示连接成功,之后你就可以使用 SSH 协议进行 Git 操作了。
仓库级别的权限设置(在托管平台上)
除了身份验证方面的权限设置,你还可以在 Git 托管平台上为仓库设置不同用户或团队的访问权限。
GitHub
- 打开仓库页面,点击 “Settings” 选项卡。
- 在左侧菜单中选择 “Manage access”。
- 点击 “Invite a collaborator”,输入用户名或邮箱邀请其他用户,并为其选择合适的权限级别(如 Read、Write、Admin 等)。
GitLab
- 打开仓库页面,点击左侧菜单中的 “Settings”,再选择 “Members”。
- 在 “Invite members” 输入框中输入用户名、邮箱或组名,选择权限级别(如 Guest、Reporter、Developer、Maintainer、Owner 等),点击 “Invite”。
1545

被折叠的 条评论
为什么被折叠?



