git多账号切换其实是有https的解决方案的,可以省去ssh配置公钥相关的麻烦,不过安全性会降低,后面会提到。

比如你想用A账号管理本地仓库repoA,用B账号管理本地仓库repoB。

那么首先,看一下gloabal和system的config:

git config --global -l

git config --system -l

主要是看有没有credential.helper把账号密码存起来了。因为https的url方式每次push的时候都要输入密码,比较麻烦,一般就会用credential.helper把账号密码存在global里了。这样对单用户没问题,但多用户时就会有问题。如果存的是A账户,那在repoB里push的时候肯定就会permission denied。所以看看global或者system哪个设置了保存就unset一下:

git config --global --unset credential.helper

git config --system --unset credential.helper

第二个命令可能需要权限吧。

接下来就是对本地仓库的config设置了。比如进入本地仓库repoA之后,看一下url:

git remote -v

https开头的就是用的https了,git@ 开头的就是用的ssh了,一般用浏览器打开github仓库页面之后在页面里copy的都是https。一般是长这个样子:

然后在https://和http://github.com之间加上用户名@ ,用set-url设置就好:

git remote set-url origin https://UserA@github.com/UserA/repoA.git

当然默认是origin分支,要设置其他分支也一样。@ 前的用户名和仓库权限的拥有者要对应起来。

改好之后,这时候push,就要输入一下用户A的密码,然后就能push上去了。对于repoB也是一样。每次push都需要输入密码了。那么为了避免麻烦,针对每一个本地仓库,设置一下local的credential.helper:

git config --local credential.helper store

这样账号密码就只针对当前仓库保存,对其他仓库没有影响了。针对每一个需要管理的本地仓库,都需要按以上步骤设置一次url和credential.helper,设置好之后,就能一直正常push了。

总结一下:

1. 清空global和system的credential.helper

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

关于安全性的问题,用git credentials存凭证的话,密码是以明文形式存储的,不论是git-credentials=store还是git-credentials=winstore(windows),git-credentials=osxkeychain(Mac),都有办法直接看到密码明文,除非用git-credentials=cache。当然也可以自定义,参考7.14 Git 工具 - 凭证存储。

怎样切换git账号密码错误_git中多账号切换问题的解决方案(转)相关推荐

  1. Oracle输入默认密码错误,oracle中默认账号oracle 11g SQL plus软件怎么打开?打开显示密码错误怎么办?...

    oracle 11g SQL plus软件下载好后,它的sql plus图标一般都不会自动出现在电脑桌面上,这时候,我们需要手动去查找SQL plus ,并将它拖到电脑桌面上,不像台式电脑的开始界面, ...

  2. GoogleCode中git push密码错误提示解决方案(Invalid username/password)

    文章转载自,天国之翼:http://my.opera.com/freewinger/blog/2012/03/27/googlecode-git-googlecode-git-push-passwor ...

  3. Nacos小坑——启动异常以及正常启动后账号密码错误问题解决

    Nacos小坑--启动异常以及正常启动后账号密码错误问题解决 前言: 最近在学习SpringCloud alibaba,启动nacos时遇到如下问题: 1.正常解压压缩文件后,在bin目录下直接双击s ...

  4. php提示密码错误的代码_php 实现密码错误三次锁定账号10分钟

    直接上个代码 /** * 登录 * 1.接收数据 * 2.正则判断接收到的数据是否合理 * 3.根据用户名获取用户数据 * 获取到数据 -> 继续执行 * 没有获取到数据 -> 提示:用户 ...

  5. mybatis连接oracle12乱码,使用mybatis链接oracle数据库出现账号密码错误解决

    使用mybatis链接oracle数据库步骤 最近oracle老师布置下来了作业,要求使用传统的java代码链接oracle数据库做一个小程序,因为我已经很熟练的掌握了ssm框架的开发,以前用的是my ...

  6. onedrive学生账号无法登录win10 OneDrive客户端[账号密码错误]

    移动端登陆不上: 国内的学校基本上都是世纪互联的OneDrive,别错登录国际版,但国际版的一样能登录进去.此外,在xxx ADFS上的密码可能不是你国际版OneDrive的密码,因为这个密码大概率是 ...

  7. yml配置oracle连接,springboot yml 文件配置oracle,提示账号密码错误

    最近使用Spring boot,本来一直连接的是mysql数据库,一直没问题.昨天在更换了oracle数据库后,一直提示账号密码不正确,登录被拒绝.检查多次,检查账号密码一切正常,但就是连接不上ora ...

  8. 2020无人用的邮箱和密码大全_Amazon后台登录密码错误!如何辨别账号是否被冻结?...

    啊你绝对不知道 这里每天都会更新一些跨境电商实时动态. 卖家经验交流,跨境平台动态研究, 曝光销售技巧,转化技巧,站外引流的方法 亚马逊后台登录密码错误,如何辨别账号是否被冻结?很多人一看到自己账号登 ...

  9. git登录账号密码错误

    git登录时用户名正确了密码不小心输入错误了,以为提交的时候会弹出登录窗口,结果这玩意不提示,直接来个用户名或密码错误,remote: Incorrect username or password ( ...

最新文章

  1. FreeMarkerConfigurer使用TemplateDirectiveModel时获取request、session
  2. Spring快速开启计划任务
  3. 在JVM之下–类加载器
  4. MySQL-Front的安装简介
  5. matlab已知ft求f2t,基于Matlab的信号与系统实验指导2
  6. 如何使用导入平面文件向导将平面文件导入SQL Server数据库
  7. 【实习】T100开发学习笔记
  8. android Fragment详解三:实现Fragment的界面
  9. 2019最新资料!共7T
  10. ArcGIS操作:矢量shp编辑
  11. 覆盖计算机网络分类有哪些 英语缩写,简述按覆盖范围划分计算机网络的分类类型有哪些?英语缩写分别是什么?...
  12. 通过python理解相速度和群速度
  13. [C语言入门可读]学习书籍;学习工具、网站;刷题网站推荐
  14. SuperMemo概念初识(摘录)
  15. 基于ETest的航电系统通用测试平台
  16. 2019双十一自动领喵币
  17. 推荐一些亲测实用的小软件
  18. STM32F407ZET6+NRF24L01实现一收多发(一发多收)
  19. 单片机(3)跑马灯,按钮控制的跑马灯(2种编程)
  20. 显示器接口_显示器上的Type-C接口 可能绝大多数人都不知道这么大作用

热门文章

  1. micropython web ws2812_MicroPython实例之TPYBoard v102炫彩跑马灯WS2812B
  2. h5 android数字键盘,【笔记】移动端H5数字键盘input type=number的处理(IOS和Android)...
  3. STATS 4014 Advanced Data Science
  4. 跨年操作--new Date()
  5. asp.net基础知识
  6. VSS 请求程序和 SharePoint 2013
  7. 输入一个数3256,将他从小到大输出,就是2356
  8. LinuxC高级编程——进程
  9. asp删除mysql_asp php 清空access mysql mssql数据库的代码
  10. 统计app用户在线时长_「云工作普及系列」2.如何实时统计工作时长,提高工作效率