🔑 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 origin git 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 分支。 |