一直以来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. 我与0xc000007b奋斗的日子

    自从新换了一台笔记本,就开始重装各种软件,就在将要开始软工课设的重要的日子里,我默默地在运行客户端时出现了一个这样的错误: 鉴于本人很废柴,自然不可能去查内存,所以开始各种度娘必应和谷歌,哦!原来应该 ...

  2. 16个简单实用的.htaccess技巧

    .htaccess 文件 (Hypertext Access file) 是Apache Web服务器的一个非常强大的配置文件,对于这个文件,Apache有一堆参数可以让你配置出几乎随心所欲的功能.. ...

  3. $this和self、parent这三个关键词分别代表什么?在哪些场合下使用?

    $this:当前对象 self: 当前类 parent: 当前类的父类 $this在当前类中使用,使用->调用属性和方法. self也在当前类中使用,不过需要使用::调用. 静态属性,不能在类里 ...

  4. POJ 1061 青蛙的约会 | 同余方程和exGcd

    题解: 要求s+px=t+qx (mod L) 移项 (p-q)x=t-s (mod L) 等价于 (p-q)x+Ly=t-s 即ax+by=c的方程最小非负根 exGcd后乘个C #include& ...

  5. H5单文件压缩插件

    单文件压缩上传 <input type="file" id="file"> 构造函数 function UpFileImg(options){ va ...

  6. java复习整理(六 异常处理)

    一.异常简介  在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出).Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性.        ...

  7. Vijos P1007 绕钉子的长绳子

    绕钉子的长绳子 背景 平面上有N个圆柱形的大钉子,半径都为R,所有钉子组成一个凸多边形. 现在你要用一条绳子把这些钉子围起来,绳子直径忽略不计. 描述 求出绳子的长度 格式 输入格式 第1行两个数:整 ...

  8. Runtime.getRuntime().exec方法

    Runtime.getRuntime().exec()方法主要用于执行外部的程序或命令. Runtime.getRuntime().exec共有六个重载方法: public Process exec( ...

  9. AUTOIT3设置用户包含目录

     

  10. UVA 10986 Sending email 最短路问题

    基本的最短路问题 就是数据需要稍微处理一下.(N比较大)dijkstra也要优化.不优化应该会T: #include <map> #include <set> #include ...