git-config
gitconfig文件
- 仓库级别 local 【优先级最高】
在项目根路径的/.git/config
- 用户级别 global【优先级次之】
本机~/.gitconfig
- 系统级别 system【优先级最低】
git安装目录下的/etc/gitconfig
全局配置
全局生效
配置信息存储在 ~/.gitconfig
- 查看全局配置
git config --list
- 新增全局配置
% git config --global user.name "用户名"
% git config --global user.email "用户邮箱"
项目配置
单个项目生效
配置信息存储在项目目录下.git/config文件中
git config user.name "用户名"
git config user.email “用户邮箱”
git config --local user.name "用户名"
git config --local user.email "用户邮箱"
配置项
https://www.git-scm.com/docs/git-config#_variables
-
用户名,密码,邮箱
user.name
user.email
user.password
-
处理“换行”(line ending)
core.autocrlf = false
windows 下会有 LF 转 CRLF 问题。当设置成false时,line endings将不做转换操作。文本文件保持原来的样子。 -
网络代理
http.proxy = <value>
http.<url>.proxy = <value>
单独为一个URL配置代理 -
URL替换
url.<base>.insteadOf = <value>
value被替换为base- 例:将 http和https替换为ssh访问
[url "git@git.code.oa.com:"] insteadOf = https://git.code.oa.com/ [url "git@git.code.oa.com:"] insteadOf = http://git.code.oa.com/
ssh
配置信息存储在~/.ssh/
生成ssh秘钥
% ssh-keygen -t rsa -C "邮箱"
Enter file in which to save the key (/Users/yuchunxu/.ssh/id_rsa): "秘钥名"
Enter passphrase (empty for no passphrase):"秘钥密码"
Enter same passphrase again:"秘钥密码"
# 在该路径下会生成公钥 私钥
% cd ~/.ssh/
% ls
config
秘钥名
秘钥名.pub
管理秘钥对应的git仓库
% vi ~/.ssh/config
Host github # 仓库的别名,可以随意取名
HostName github.com # 仓库网站的域名
User {{用户名}} # 仓库的用户名
IdentityFile ~/.ssh/秘钥名 # 使用的秘钥
# 代理连接
Port {{跳板机的端口}} #(如果是非22的需要填写)
ProxyCommand corkscrew {{proxy-host}} {{proxy-port}} %h %p #代理登录命令