一直以来git都是自己业余玩玩,虽然也在github上有个账户,也只是小打小闹,弄了若干个测试仓库。最近公司要从TFS迁移到Gerrit,也算是正式用git了。不过遇到的一个问题就是账户问题,一个个人账户,一个公司账户,个人账户是到github仓库的,公司账户是到公司自己搭建的仓库的。所就配置一下了。

当然首先就是生成SSH Key了,cd到.ssh目录下(该目录一般在当前用户的文件夹下[1],如果没有可以自己新建一个)。

$ cd .ssh
$ ssh-keygen -t rsa -C "youremail@email.com"
$Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): github //可以重命名为github,方便区分
$ ssh-keygen -t rsa -C "workemail@email.com"
$Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): work

生成了两个ssh key一个重命名为github,一个重命名为work,来区分。

然后在.ssh目录下新建一个config文件。配置如下

    Host github.com       //这个我就保持与HostName一致了
HostName github.com //对应仓库的站点
User name //用户名
IdentityFile ~/.ssh/github //对应的ssh key 文件 Host work.com
HostName work.com
User name
IdentityFile ~/.ssh/work
这样如果我从github来clone项目,如
    git clone git@github.com:name/example.git

就能够知道是用github.com这个仓库站点对应的ssh key了,然后就能够clone或者push了。

不过暂时没搞懂的是,Host和HostName我这里要保持一致,本来Host是HostName的别名应该可以任意命名的,但是如果改动了就不行了。暂时不明就里。

最后一点就是关于config user.name和user.email的问题,我只是将公司里的账户设置成全局的,如下

    git config --global user.name "name"
git config --global user.email "email"

但是发现没有什么影响,即使从github上拉出的仓库,没有配置单独的user.name和user.email

    git config  user.name "name"
git config user.email "email"

发现也没有什么影响,可能是从config文件中已经读取到User以及通过ssh key就知道了对应邮箱了吧,纯属猜测。

PS,折腾了好几个小时,才在机器上搞定两个账户,记下来备忘。

同时熟悉了若干命令,如解除 user.name或user.email的配置

    git config --unset --global user.name "name"

  1. 在windows下 ↩︎

github 多账户配置的更多相关文章

  1. Git & GitHub 的安装配置

    参考   教你免费搭建个人博客,Hexo&Github   安装Git 1. 注册 GitHub 注册.登录 https://github.com/ 2. 创建仓库 在 GitHub 的右上角 ...

  2. git账户配置

    一.生成github的ssh key ssh-keygen ssh-keygen -t rsa -f ~/.ssh/zzf073_rsa -C zzf073@163.com 二.配置账户公钥 1.查看 ...

  3. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  4. 作业二:Github注册账户过程

    Github注册账户过程如下: Github的注册及使用说明: [1]http://www.aehyok.com/Blog/Detail/73.html [2] http://www.cnblogs. ...

  5. github的SSH配置如下

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 一 . 设置Git的user name和email: $ git ...

  6. Tomcat 项目部署、账户配置、状态监测

    tomcat部署项目 方式一.自动部署(最常用) 直接把war包或部署的文件夹放到webapps下. tomcat启动后会自动监听webapps下的文件|目录,放入打包好的项目会自动部署,移除打包好的 ...

  7. github博客配置

    配置基础环境 1.先下载github,运行git bash,输入 12 npm installnpm install -g hexo 2.选择一个熟悉的地方创建hexo文件夹,打开文件夹,在文件夹中运 ...

  8. git与github安装、配置、pull、push

    操作系统是Ubuntu 16.04 LTS 64bit 1 安装git (1)安装 sudo apt-get install git-core (2)一些全局变量的初始化 在本地建立一个文件夹,然后做 ...

  9. 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?并在Github注册账户,写一篇博客记录注册的过程。

    问题一:上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?(以下内容为网上查询所得) Microsoft TFS(Team Foundation Server): 优点: ...

随机推荐

  1. 如何将查询到的数据显示在DataGridView中

    背景介绍: 数据库中的T_Line_Info表中存放着学生上机的记录,也就是我们需要查询上机记录的表,其中具体内容为: 界面设计如下: 右击DataGridView控件,选择编辑列,设计它的列名. 代 ...

  2. Centos安装后的一些必要处理工作

    1永久关闭selinux,修改成permissive或者disabled(建议),修改完需重启 2配置network 3.禁止ping(可选,一般不需要禁止)(默认为0位启用ICMP协议,1为禁止), ...

  3. 少年Pi的奇幻漂流

    选择怀疑作为生活哲学就像选择静止作为交通方式.   的确,我们遇见的人可能改变我们,有时候改变如此深刻,在那之后我们成了完全不同的人,甚至我们的名字都不一样了. 声音会消失,但伤害却留了下来,像小便蒸 ...

  4. 《c程序设计语言》-2.6~2.8

    #include <stdio.h> unsigned setbits(unsigned x, int p, int n, unsigned y) { return (x & (( ...

  5. es6+最佳入门实践(2)

    2.解构赋值 2.1.什么是解构赋值? 什么是解构赋值?这里的关键字还是赋值,这是说如何去赋值的问题,这里说的解构可以理解为解散重新构造,所以解构赋值可以理解为解散重新构造后进行赋值,通常是左边一种结 ...

  6. js函数调用与声明 (for时注意)

    可以的: test();  // 直接function 方式声明的函数可以直接调用,后声明 function test(){} aa();   //error  var 方式声明的函数需先声明后调用v ...

  7. HDU1251统计难题---Trie Tree

    map巧过 #include <stdio.h> #include <string.h> #include <map> #include <string> ...

  8. Mysql建立触发器

    DELIMITER $$ CREATE /*!50017 DEFINER = 'root'@'%' */ TRIGGER `AddTransferAccountLog` AFTER INSERT ON ...

  9. input 输入框提示信息

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  10. DotNETCore 学习笔记 路由

    Route ------------------------------------------constraint------------------------------------------ ...