自己新的电脑,未安装过git。想安装git,同时支持一台电脑使用两个git账号。(公司的、外部的github) 。
本人用的git版本Git-2.11.0-64-bit 与 TortoiseGit-2.3.0.0-64bit
1、百度搜索 安装GIT
2、百度搜索 安装TortoiseGit
3、不设置 全局用户名 跟邮件名
4、生成相对密钥
$ mkdir .ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa -C "******37@qq.com" //这里回车生成的密钥名称不能默认,输入 id_rsa_*******37
$ ssh-keygen -t rsa -C "mingzi.xing@abc.com" //这里回车生成的密钥名称不能默认,输入 id_rsa_abc
5、启动代理、添加私钥
$ exec ssh-agent bash
$ ssh-add ~/.ssh/id_rsa_*******37
$ ssh-add ~/.ssh/id_rsa_abc
6、配置不同的git不同的账号名
$ touch config
# *******37(*******37@qq.com) //这里是注释
Host github.com //总所周知,github的地址 的别名
HostName github.com //github的地址
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_*******37
User git
# mingzi.xing(mingzi.xing@abc.com)
Host abc.com //公司代码域名的地址 别名
HostName abc.com //公司代码域名
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_abc
User git
7、命令行拉取代码
使用拉取命令拉取代码。(①不小心设置了全部变量的,要删除 ②不用小乌龟拉取代码,小乌龟设置了用户名、密码老是变成全局的)
git clone 网址上的地址 // git代码的地址还是网页上的
8、命令行提交代码(需要设置用户名、邮件名)
# 进入项目文件夹,单独设置每个repo 用户名/邮箱 (每个项目)
$ git config user.email "*******37@qq.com"
$ git config user.name "*******37"
$ git push //直接提交代码
9、如何取消全局用户名、邮件名(除以下方法,可以直接到ssh同级目录下、删除.gitconfig文件)
#git config --global --unset user.name 取消全局设置
#git config --global --unset user.email 取消全局设置
10、git log显示中文出现乱码
-msys的控制台窗口属性 > 默认代码页改成 cn-zh与gbk
注:
4、生成相对密钥 遇到的问题:生成密钥的路径不对。要手动切换到具体目录生成。
见:http://www.tuicool.com/articles/yQJfi2 git/ssh捋不清的几个问题 - Barret Lee
程序可能没有帮我们在根目录下(C:/Users/yourName)新建一个 .ssh/ 文件夹,
而他在建立连接的时候会默认寻找 ~/.ssh/id_rsa ,如果没有新建一个这样的文件夹很显然是找不到的。
你可以在根目录下通过命令行来新建一个文件夹
5、http://blog.csdn.net/roadmore/article/details/51085187 同一台电脑运行多个git账号