最近线上部署的项目出现了很多问题,经过排查发现是之前很多工程部署的机器上使用的是个人的git账号。原来维护人员调到其他项目去了,后来修改了密码,导致很多工程都出了问题。修改代码后机器更新代码一直提示输入git密码。因为本地使用的是ssh方式更新代码,所以认证失败后就只提示输入密码。在网上查了很多种方式,大部分回答都一样,修改账号密码,就像下面方式:
<code>gitconfig
gitconfig
/<code>
结果当然是没有一点效果了。最后查出两种修改方式
https更新代码
使用https方式更新Git库代码,这样每次都会提示输入账号和密码,只要有权限的账号都可以更新。修改方式是在git目录的.git文件夹下,打开config文件,将url从ssh修改为https方式
<code>[ ] url = https: fetch = +refs/heads/<code>
但是上面这种方式需要每次输入账号密码,这样不利于自动脚本执行,那么我们就需要使用免密方式更新了。
ssh更新代码
<code> git config --global
user.name"yourname"
git config --global
user.email"youremail"
git config --global
core.autocrlffalse
git config --global
core.quotepath off git config --global
gui.encoding utf-8
ssh-keygen -t rsa -C"youremail"
eval `ssh-agent` ssh-add
~/.ssh/id_rsa ssh-add
-l cat ~/.ssh/id_rsa.pub/<code>