作为刚进入公司工作的新人,我遇到了一个问题,那就是如何在设置完公司 Git 账号的情况下再使用个人的 GitHub 账号?
在一翻搜索后我发现网上都是使用 SSH 的方式进行多账号的配置,这可以使得在和远端进行交互时不用输入账号密码,但是在配置时需要生成 SSH keys、配置 ~/.ssh/config 等操作,略有些繁琐,而使用 HTTP/HTTPS 则不需要进行这些配置,但 HTTP/HTTPS 貌似每次交互都需要输入账号密码诶。其实并不是这样,只需要通过简单配置就可以使得 HTTP/HTTPS 方式不用每次都输入账号和密码,这样子不管是公司的Gitlab还是个人的Github都只需要在最开始登陆一次,以后便再也不用输入密码了,是不是觉得很棒!下面我来介绍一下这个方法~
credential.helper
,这个选项是帮助Git记住你HTTP/HTTPS的账号密码。PS:我其实没有配置这个选项,但是这个选项就默认存在了,大家可以使用下面这个命令来查看自己的Git是否已经存在这个选项,若有返回值(osxkeychain/wincred/cache)则说明你已经可以免密使用 HTTP/HTTPS 方式,直接看步骤二即可。
$ git config credential.helper
下面介绍在 Mac/Windows/Linux 下的credential.helper
设置方法。
$ git config --global credential.helper osxkeychain
提示: 1. 需要 Git 1.7.10 或更高版本才能使用 osxkeychain。 2. 有两种情况是默认装了 osxkeychain的 1. 使用 Homebrew 安装了 Git 2. 运行的系统是Mac OS X 10.7及更高版本,并且通过 Apple 的 Xcode 命令行工具安装了 Git
$ git config --global credential.helper wincred
提示: 需要 Git 1.7.10 或更高版本才能使用 wincred。
$ git config --global credential.helper cache # 默认情况下,Git 会缓存密码 15 分钟
$ git config --global credential.helper 'cache --timeout=3600' #更改默认的密码缓存时限为1小时
提示: 需要 Git 1.7.10 或更高版本才能使用 cache。
不知道大家记不记得得在一开始配置Git时是否输入过下面两个命令:
$ git config --global user.email "xxxx@xx.com"
$ git config --global user.name "xxxx"
不记得也没关系,可以通过在 非git目录 输入下面的命令来查看自己是否设置了这两个值:
$ git config user.email
$ git config user.name
通过 --global
设置的这两个值会给你这个系统用户下所有的Git仓库都设置上相同的邮箱和用户名,也就是说不管你使用的是公司Git还是个人Git,push到远端仓库时都会使用这两个值来标记你。
如果你觉得两个Git使用相同的无所谓,那么可以跳过这个设置步骤。
那如果不想在公司Git和个人Git使用相同的邮箱和用户名呢?方法:打开本地Git仓库,使用如下命令单独设置每个Git仓库的用户名/邮箱:
$ git config user.email “xxxx@xx.com”
$ git config user.name “xxxx”
这个设置就会覆盖掉--gloabal
的设置值,只在对应的仓库内生效,可以类比联想面向对象的继承特性。
如果平时使用公司Git比较多的情况,可以把公司的用户名/邮箱设置为
--global
,然后在个人Git的仓库下配置对应的账号,这样就不用频繁地设置这两个值。
=======
方法介绍已经结束,掌握这个命令就已经能够正常使用公司Git+个人Git两个账号了。大家赶时间的话看到这里就可以结束啦,自行去操作验证。下面会介绍我自己的操作验证步骤。
=======
前提:我本地已经可以免密使用 HTTP/HTTPS 的方法操作公司Git了,现在想要验证可不可以免密使用 HTTP/HTTPS 操作 Github。
到这里说明免密已经成功,不过题目都说了是公司Git+个人Git共存方式,那接下来就验证一下公司 git 是否能正常使用呢?
当然,这个方法也存在局限性,那就是不能解决同时存在两个同一 Git 网站的账户,比如不能同时存在两个 Github 的账户,这个问题就只能通过 SSH 的方式进行解决了。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有