账号管理
Git本地仓库初始化
1)选择一个目录存放项目
2)Git Bash Here
3)git init
此时会生成一个.git的隐藏文件,存放此项目相关配置信息,例如:项目级别的账号信息就存放在.git/config文件中。
添加项目级别账号
git config user.name jack
git config user.email jack@git.com
查看config文件信息
cat D:/Git/gitRepository01/.git/config
一般我们设置用户级别账号
git config --global user.name aaron
git config --global user.email aaron@git.com
此时账号信息保存在系统目录中,比如我现在的:C:/Users/Aaron/.gitconfig
cat ~/.gitconfig
~此时的家目录就是windows用户aaron的目录。并且用aaron只能创建一个git系统级别用户,后一个会覆盖前一个。
查看全局配置还可以使用
git config --global --list
可简写为:
git config --global -l
同理:
git config --local -l
git config --system -l
查看所有配置信息:
git config -l
git config -l --show-origin
#查看当前Git使用账号
You can also check what Git thinks a specific key’s value is by typing git config <key>:
git config user.name
git config --show-origin user.name
清除全局配置
git config --global --unset user.name
git config --global --unset user.email
小结
1)项目级别账号,优先级最高。存放在项目的.git/config
文件中;
2)用户级别账号,优先级次之。存放在系统账号(例如Windows的aaron)C:/Users/Aaron/.gitconfig
文件中;
3)系统级别账号,优先级最低。存放在git安装目录etc/gitconfig
文件中。
#查看配置
git config [--local/global/system] -l
#编辑配置文件
git config [--local/global/system] -e
#添加账号
git config [--local/global/system] user.name xxx
git config [--local/global/system] user.email xxx
#增加/获取/删除配置,默认是local。section,key,value一个都不可以少。
git config [--local/global/system] [--add/get/unset] section.key value
多用户配置
应用场景
我的私人电脑既要用来提交我的个人项目到GitHub上,也需要提交公司项目到GitLab上。配置ssh登录。
GitHub项目地址:
https://github.com/AaronFeng33/trytry.git
setp1.创建GitHub的SSH
1)创建本地ssh
ssh-keygen -t rsa -C "aaron@git.com"
参数含义:
-t 指定密钥类型,例如:rsa
-C 设置注释文字,例如:邮箱
-f 指定密钥文件存储文件名
注:
1)输入保存路径和文件的时候,直接回车,默认即可,默认保存在.ssh/id_rsa;不过为了区分github和gitlab,故而改写成:/c/Users/Aaron/.ssh/id_rsa_github
,改了之后,需要重新对私钥和远程做对接。
2)输入passphrase的时候,直接回车,不需要密码。此处输入的是私钥密码,也可输入,然后交给代理管理。
创建好之后的文件
2)GitHub上添加ssh key
登录GitHub,点击右上角头像,选择settings,选择SSH and GPG keys,然后添加新的SSH key即可。title自定义,key复制本地.ssh/id_rsa.pub里面的内容。
3)验证
ssh -T git@github.com
setp2.创建GitLab的SSH
同GitHub创建SSH一样即可。
setp3.添加私钥到keychain
ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitlab
添加完毕后,可以通过执行 ssh-add -l
验证下
如果出现:Could not open a connection to your authentication agent.
错误提示,执行ssh-agent bash
然后再添加。
setp4.管理密钥
创建一个密钥配置文件,通过该文件,实现根据仓库的 remote 链接地址自动选择。
vim ~/.ssh/config
配置内容如下:
HostName github.com
User aaron
IdentityFile ~/.ssh/id_rsa_github
Host gitlab
HostName gitlab.mygitlab.com
User FC
IdentityFile ~/.ssh/id_rsa_gitlab
注:
Host:仓库网站的别名,可自定义
HostName:仓库网站的域名(PS:IP 地址应该也可以)
User:仓库网站上的用户名
IdentityFile:私钥的绝对路径