git多账户设置

你是否遇到过在公司电脑撸码时需要链接到公司的git私服,同时又要写写个人的代码到github的尴尬,我想你一定有过,接下来就教大家怎么在一台电脑设置多个git账户

方法一,使用配置多个ssh私钥

1. 步骤一

使用ssh-keygen 命令生成新的一组id_rsa_new和id_rsa_new.pub。

ssh-keygen -t rsa -C "new email"

平时我们都是直接回车,默认生成id_rsa和id_rsa.pub。这里特别需要注意,出现提示输入文件名的时候要输入与默认配置不一样的文件名,比如: id_rsa_new。

2. 步骤二

配置~/.ssh/config文件,以我自己的机器为例

#First Git可以随便取
Host baibei
#IP Address #域名也可
HostName 120.24.222.xxx
#user.name 里面的名字
User zhangyue
#制定对于生成的私钥文件
IdentityFile ~/.ssh/id_rsa

#Second Git
Host github
HostName github.com
User zhangyue0808@qq.com
IdentityFile ~/.ssh/id_rsa_github

Host就是每个SSH连接的单独代号,IdentityFile告诉SSH连接去读取哪个私钥。

3. 步骤三

执行ssh-agent让ssh识别新的私钥。

ssh-add ~/.ssh/id_rsa_github

该命令如果报错:Could not open a connection to your authentication agent.无法连接到ssh agent,可执行ssh-agent bash命令后再执行ssh-add命令。以后,在clone或者add remote的时候,需要把config文件中的host代替git@remoteaddress中的remoteaddress。
同时,你可以通过在特定的repo下执行下面的命令,生成区别于全局设置的user.name和user.email。

同时,你可以通过在特定的项目git根路径下下执行下面的命令,生成区别于全局设置的user.name和user.email。

git config user.name "newname"
git config user.email "newemail"
#git config --global --unset user.name 取消全局设置
#git config --global --unset user.email 取消全局设置

使用http方式提交

不适用ssh方式提交代码,在具体项目中使用具体的http地址,这样就可以随意切换提交地址了

git clone http://url.git
git push origin master
输入密码:*****
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一步新建SSH key 第一种方式: ssh-keygen -t rsa -C "your_email" 此时将...
    xiang205012阅读 293评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,859评论 18 139
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,705评论 9 163
  • 现在不吃苦,一辈子都会吃苦。现在多吃苦,将来就不苦。这是多么实在的一句话。我认为,这世上可以有天赋,但没有天才,所...
    颜薜蕊阅读 453评论 0 3
  • 在Xcode4.2之后,Objective-C新添加一项特性:property 在@property中属性特性有3...
    鋼鉄侠阅读 281评论 0 2