🔑 Git SSH 推送完整流程总结
SSH 流程的核心是:用本地生成的公钥(Public Key)在 GitHub 注册您的身份,然后 Git 通过加密通道进行通信,无需密码。
| 序号 | 阶段 | 目标 | 关键语句/位置 |
|---|---|---|---|
| 1 | 生成密钥 | 在本地电脑上创建 SSH 密钥对(公钥 + 私钥)。 | ssh-keygen -t rsa -b 4096 -C "您的邮箱" |
| 2 | 定位密钥 | 确认密钥的存放位置。 | 私钥: ~/.ssh/id_rsa (保留在本地,绝不泄露)公钥: ~/.ssh/id_rsa.pub (上传到 GitHub) |
| 3 | 配置 GitHub | 在 GitHub 账户中注册您的公钥。 | 网页:Settings -> SSH and GPG keys -> New SSH key |
| 4 | 修改远程 URL | 将本地仓库的远程地址从 HTTPS 切换到 SSH 格式。 | git remote remove origingit remote add origin git@github.com:用户名/仓库名.git |
| 5 | 首次连接/推送 | 确认连接,并将本地代码推送到远程仓库。 | 确认:输入 yes 并回车推送: git push -u origin main |
📘 关键语句和存储位置
A. 密钥生成和存储
| 动作 | 语句 | 备注 |
|---|---|---|
| 生成命令 | ssh-keygen -t rsa -b 4096 -C "you@example.com" |
-t:密钥类型;-b:位长;-C:注释(通常是邮箱)。生成过程中一路回车即可。 |
| 密钥存放位置 | Windows (PowerShell): C:\Users\YourUsername\.ssh\ |
id_rsa (私钥) 和 id_rsa.pub (公钥) 存放在您的用户目录下的 .ssh 隐藏文件夹内。 |
B. 远程仓库配置和推送
| 动作 | 语句 | 备注 |
|---|---|---|
| 移除 HTTPS 远程 | git remote remove origin |
清除旧的、不稳定的 HTTPS 地址。 |
| 添加 SSH 远程 | git remote add origin git@github.com:LIDADUDU/BERT_Word_Memory_System.git |
注意格式: git@github.com:用户名/仓库名.git |
| 确认主机指纹 | yes |
在首次连接时输入 yes,Git 会将 GitHub 的指纹永久添加到 known_hosts 中。 |
| 拉取远程更改 | git pull origin main --allow-unrelated-histories |
解决本地和远程仓库历史不一致的冲突。 |
| 最终推送 | git push -u origin main |
将本地代码推送到远程 main 分支。 |
