通过 SSH 提交代码到 GitHub,可以提高安全性并避免每次提交时输入用户名和密码。
以下是详细步骤:
1. 检查本地是否有 SSH 密钥
在终端中输入以下命令,检查是否已有 SSH 密钥:
1 | ls ~/.ssh |
如果看到 id_rsa
和 id_rsa.pub
文件,表示已有密钥;否则需要生成一个新的 SSH 密钥。
2. 生成新的 SSH 密钥
如果没有现有密钥,可以生成新的:
1 | ssh-keygen -t rsa -b 4096 -C "你的邮箱@example.com" |
按回车接受默认路径,创建密钥时可选择设置密码以增加安全性。
3. 启动 SSH Agent 并添加密钥
启动 SSH Agent 并将密钥添加到它:
1 | eval "$(ssh-agent -s)" |
4. 将 SSH 公钥添加到 GitHub
复制公钥到剪贴板:
1 | cat ~/.ssh/id_rsa.pub | pbcopy # macOS |
登录 GitHub,导航到 Settings > SSH and GPG keys,点击 New SSH key,粘贴公钥并保存。
5. 测试 SSH 连接
使用以下命令测试与 GitHub 的 SSH 连接:
1 | ssh -T git@github.com |
如果连接成功,会看到类似以下消息:
1 | Hi <你的用户名>! You've successfully authenticated, but GitHub does not provide shell access. |
6. 克隆仓库或更新远程仓库 URL
如果已经克隆了仓库,更新其远程仓库 URL:
1 | git remote set-url origin git@github.com:<用户名>/<仓库名>.git |
7. 提交和推送代码
按照正常的 Git 工作流,提交并推送代码:
1 | git add . |
这时,你应该能够通过 SSH 将代码安全地推送到 GitHub。
Tips
确保你的本地 Git 配置了正确的用户名和邮箱:
1 | git config --global user.name "你的用户名" |
这样,你就可以使用 SSH 将代码提交到 GitHub,而无需输入用户名和密码了。