今天遇见了git凭证的小坑,也是平时没有使用git多人开发的经验,事情是这样的:刚开始实习在公司电脑上直接用git bash新生成了一个ssh本地密钥,但发现无法拉取私有的远程仓库。
于是我修改了本地的凭证管理中关于git的信息。后面发现commit上去之后发现在git仓库上提交的人是一个不认识的git用户,但是这个用户并没有该仓库的限权。这时我就想,不行啊,我自己以后提交的东西,提交记录怎么可以是别人,于是我便上网查找解决办法。发现修改git控制台的config信息有用,于是便马不停蹄地修改了user.name和user.email的值
# 查看config配置信息
git config --list
git config --global user.email "xxxxx@xxxx.com"
git config --global user.name "git用户名"
随后便发现无法克隆仓库的项目了,经过一小时的研究,发现我需要将密钥更新并添加到git的个人公钥上。
操作如下,首先删除原来目录下的公钥,重新生成公钥,实现无密码登录。
# 进入 C:\Users\Administrator\.ssh 目录
# 生成公钥
ssh-keygen
# 如果要用加密算法在后面加-t,这里推荐使用rsa加密
ssh-keygen -t rsa
生成后在C:\User\xxx(用户名)\.ssh目录中点击编辑id_rsa.pub,复制内容并注册公钥。
点击确定便可以正常的clone仓库和commit了
附上clone与commit常用代码
# 克隆项目到本地
git clone xxxx(项目地址)
# 将项目添加到暂存区
git add .
# 设置提交信息并提交到本地库
git commit -m "xxxx(更新描述)"
# 提交到远程仓库的master分支
git push -u origin master