问题原因:使用 http 模式连接仓库
解决步骤:
- 将http模式改为ssh模式
- 生成ssh公钥
- 在 .gitconfig 文件中添加用户信息
将 http 模式改成 ssh 模式
- git remote -v: 检查当前模式,如果是http模式,将看到项目的 http 地址
- git remote rm origin:删除当前模式
- git remote add origin
git@xxxx.xxx.git
:将项目的 ssh 地址添加进来,就可以了
生成 ssh 公钥
- 在
C:\Users\viruser.v-desktop\.ssh
中打开 cmd (因机而异) - 生成 ssh 公钥:
ssh-keygen -t rsa -C "zhangsan@company.com"
(可能会出现ssh-keygen 指令无法识别的问题,需要将 ssh-keygen.exe 所在的目录路径添加到用户环境变量中,例如C:\Program Files\Git\usr\bin
) - 三次回车,会在 .ssh 文件夹中生成两个文件:id_rsa 和 id_rsa.pub
- 将 id_rsa.pub 打开,把内容复制到 gitlab -> 个人资料设置 -> ssh 密钥 -> 增加 ssh 密钥 中
- 点击增加密钥
- 之后就可以在 git bash 中通过 ssh 进行操作
在 .gitconfig 文件中添加用户信息
- git config --global user.name ‘zhangsan’
- git config --global user.email ‘zhangsan@company.com’
- git 全局配置文件 .gitconfig 在
C:\Users\viruser.v-desktop\
(因机而异) 中,也可以直接打开修改
做完以上三步便可使用ssh避免反复输入账号密码