Git使用SSH创建秘钥登录方法及克隆提交代码指令
- 步骤一、ssh登录创建秘钥
SSH 认证 另一种常见的方法是使用 SSH 密钥进行认证。SSH 密钥不需要每 次推送或拉取时都输入凭据,通常更加方便安全。
生成 SSH 密钥: 如果您尚未生成 SSH 密钥,可以执行以下命令:
bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
说明: -t rsa 表示生成 RSA 类型的密钥。
-b 4096 表示使用 4096 位的加密长度,增加安全性。
-C 后跟您的电子邮件地址,是对密钥的注释。
执行命令后,Git 会提示您指定密钥保存路径。默认情况下,密钥会保存在 ~/.ssh/id_rsa 文件中。直接按 Enter 选择默认路径,或者自定义路径。
接着,Git 会要求您设置一个 密码(可选)。如果不想设置密码,直接按 Enter 跳过。
完成后,您会在 ~/.ssh/ 文件夹中看到两个文件:
id_rsa:私钥,保密,不要泄露。
id_rsa.pub:公钥,可以公开分享。
然后按提示保存生成的密钥。默认情况下,生成的公钥和私钥将存储在 ~/.ssh/ 目录下。
- 步骤二、添加公钥到 GitHub:
1.打开 ~/.ssh/id_rsa.pub 文件,复制其内容。可以用cat ~/.ssh/id_rsa.pub
2.在 GitHub 上,进入 Settings > SSH and GPG keys > New SSH key。
3.将公钥粘贴到文本框中并保存
在 GitHub 页面右上角点击头像,选择 Settings。
在左侧菜单中,选择 SSH and GPG keys。
点击 New SSH key 按钮。
在 Title 输入框中,为该密钥设置一个名称(例如:My Laptop)。
将刚才复制的公钥粘贴到 Key 输入框中。
点击 Add SSH key 保存
- 步骤三 配置 SSH URL
如果您已经配置了 SSH 密钥,您需要使用 SSH URL 克隆仓库,而不是 HTTPS URL。
例如:
bash
git clone git@github.com:username/repository.git
-
步骤 4:推送代码时不需要输入密码
一旦 SSH 密钥配置好,您就不再需要每次推送时输入用户名和密码,Git 会通过 SSH 密钥认证来进行连接。 -
**步骤5 测试 SSH 连接**
为了确保 SSH 密钥已正确配置,您可以测试是否能够成功连接到 GitHub。
在 Git Bash 中运行以下命令:
ssh -T git@github.com
如果一切正常,GitHub 会返回如下信息(首次连接时可能会提示确认连接)
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
如果用sourcetree的话,在这选择ssh登录,秘钥选择.ssh文件夹下的id_rsa文件
git clone仓库和推文件的指令流程
- 第一步:先克隆到本地
如果是http的模式,则:git clone https://github.com/username/repository.git
如果是ssh的模式,则:git clone git@github.com:username/repository.git
- 第二步 克隆完成后,进入到该仓库的文件夹
cd repository
- 第三步 创建新分支(可做可不做)
创建新分支(可选)
在进行修改之前,您通常会在一个新分支上进行工作,以避免直接影响到主分支。执行以下命令创建并切换到新分支:
git checkout -b new-branch
- 第四步 修改文件
修改文件
在本地仓库中对文件进行修改(例如添加或编辑文件)。一旦完成,您可以通过以下命令查看哪些文件被修改了:
git status
- 第五步,修改的代码到暂存区
添加文件到暂存区(Staging)
将您修改过的文件添加到 Git 的暂存区:
git add .
. 表示添加所有更改的文件。如果只想添加特定文件,可以替换为文件名:
git add filename.txt
- 第六步 提交修改
提交更改(Commit)
提交您添加到暂存区的文件,并附上提交信息:
git commit -m "Add new feature or fix bug"
-m 后面跟的是提交的说明信息,描述这次提交的内容。
- 第七步 将更改推送到远程仓库
现在,您已经本地提交了修改,接下来需要将修改推送到远程仓库。
git push origin new-branch
origin 是远程仓库的默认名称。
new-branch 是您要推送的分支名称。如果您推送到 main 分支,可以使用git push origin main
- 第七步 合并到主分支
合并(Merge)到主分支(可选)
如果您希望将 new-branch 分支的更改合并到主分支,可以首先切换到 main 分支,并进行合并:
bash
git checkout main
git merge new-branch
然后,再将合并后的更改推送到远程仓库:
git push origin main