关于git操作
查看本地是否已有SSH
在本地打开 git bash 命令行窗口,输入以下命令
cd ~/.ssh如果没有,显示
bash: cd: /c/Users/Administrator/.ssh: No such file or directory否则表示本地以创建 SSH key 了
1 | cd ~/.ssh |
创建 SSH key
1 | ssh-keygen -t rsa -C "your_email@example.com" |
1 | ssh-keygen -t rsa -C "your_email@example.com" -b 4096 -f ~/.ssh/custom_key |
- 接下来会提示输入生成的key存放的路径,不设置直接回车的话会默认创建在C:/Users/你的用户账号/.ssh文件夹下
1 | Enter file in which to save the key (/c/Users/Him/.ssh/id_rsa): |
- 再接下来会提示你输入密码,这个密码是用来每次提交的时候输入确认,可以不设置,直接回车两次
1 | Enter passphrase (empty for no passphrase): |
- 最后成功后会看到类似如下的输出,表示成功生成SSH key了,可以到C:/Users/你的用户账号/.ssh文件夹下查看
1 | Your identification has been saved in /c/Users/Him/.ssh/id_rsa. |
密钥
RSA 4096位密钥(推荐兼容性方案)
1 | ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -C "your_email@example.com" |
Ed25519密钥(推荐安全方案)
1 | ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "your_email@example.com" |
ECDSA 521位密钥(平衡方案)
1 | ssh-keygen -t ecdsa -b 521 -f ~/.ssh/id_ecdsa -C "your_email@example.com" |
带密码密钥
带密码保护的密钥(示例)
1 | ssh-keygen -t ed25519 -f ~/.ssh/secure_key -N "your_strong_password" |
-t:指定密钥类型(rsa/ed25519/ecdsa)-b:定义密钥长度(RSA/ECDSA需指定)-f:自定义密钥文件路径-C:添加注释(通常为邮箱)-N:设置密钥密码(空表示无密码)
SSH验证
- 验证本地生成的ssh,github或者gitee端密钥是否添加成功,输入如下命令
1 | ssh -T git@github.com |
如果添加成功就会显示如下语句
Hi Username! You’ve successfully authenticated, but GitHub does not provide shell access.
Hi Username! You’ve successfully authenticated, but GITEE.COM does not provide shell access.Username:是你的在git端的名称
同一台电脑上多个github或gitee账户
同一台电脑有两个github账号或者两个gitee账号,配置如下都相同
- 请参考:gitee文档 配置文件如下
1 | # gitee xxxxxx@qq.com |
- 文件中有多个
xxx或aaaaa都是需要修改处,如果需要验证添加SSH是否成功,测试代码如下,对应上面配置文件
1 | ssh -T git@gitee.com |
依此类推有多少个gitee或github就配置多少个,特别注意 xxxx_id_rsa 不能配置为相同文件名。
git 问题
- GitHub Desktop 使用ssh推送或者下拉时候报错 Authentication failed. Some common reasons include:
解决方法:
可以尝试关闭路径 File->Options->Advanced->SSH的选项->Use system OpenSSH 选项
- fatal: unable to access ‘git/‘: Send failure:Connection was reset
解决方法:
为了将来参考,我通过重新打包解决了这个问题:
git repack --max-pack-size=100M -a -d

git指令
git remote 指令
git remote 命令用于用于管理 Git 仓库中的远程仓库。
git remote 命令提供了一些用于查看、添加、重命名和删除远程仓库的功能。
1 | git remote 列出当前仓库中已配置的远程仓库。 |
使用方法:
查看当前的远程仓库URL
1 | git remote -v |
添加远程仓库URL
1 | git remote add master utl(https://xxxxx.git) |