Web Development

/ 0评 / 0/ 最后更新:2020-08-19
git本地多帐号管理(You do not have permission to pull the repository)

需求场景

一般开发人员会有2个以上的git账户,一个公司账户A,一个个人账户B。这就涉及一个问题,如果本机使用的A账户,当克隆B账户的项目时,可能会出现You do not have permission to pull the repository的提示。这是由于本机记住了A的帐号密码,每次操作都使用A的账户密码。所以操作B时会提示没有权限。产生这样的错误一般是采用https方式clone才会出现,所以本地多帐号可以通过ssh方式解决。通过配置多个ssh密钥可以解决这个问题,配置ssh是最安全的方式,不过缺点就是配置麻烦。如果希望通过https克隆而两个帐号又不冲突要怎么办呢?

解决方案

  1. 清空global和system的credential.helper
  2. 对每一个本地仓库,设置一下url和local的credential.helper

步骤一:清空本地全局credential.helper

git config --list | grep credential命令可以查看本地帐号密码存储的位置。mac显示的是credential.helper=osxkeychain,也就是存在本机的钥匙串中,打开钥匙串,搜索git,删除帐号密码。
删除本地的全局帐号密码后,这时候克隆B项目就不会提示错误了,提示需要输入帐号密码

步骤二:针对每个本地仓库设置credential.helper

0

Leave a Reply

Your email address will not be published. Required fields are marked *