Git 环境配置
Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:
/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 --system 选项的 git config 时,它会从此文件读写配置变量。
~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递--global 选项让 Git 读写此文件。
当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。
每一个级别覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。
在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users\$USER)的 .gitconfig 文件。 Git 同样也会寻找 /etc/gitconfig 文件,但只限于 MSys 的根目录下,即安装 Git 时所选的目标位置。
用户信息
当安装完 Git 应该做的第一件事就是设置用户名称与邮件地址。这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到每一次提交中,不可更改:
$ git config --global user.name "maxsu"
$ git config --global user.email maxsu@yiibai.com
再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用这些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行不使用 --global 选项的命令来配置。
很多 GUI 工具都会在第一次运行时帮助你配置这些信息。
文本编辑器
既然用户信息已经设置完毕,你可以配置默认文本编辑器了,当 Git 需要您输入信息时会调用它。 如果未配置,Git 会使用操作系统默认的文本编辑器,通常是 Vim。 如果你想使用不同的文本编辑器,例如 Emacs,可以这样做:
$ git config --global core.editor Emacs
检查配置信息
如果想要检查你的配置,可以使用 git config --list 命令来列出所有 Git 当时能找到的配置:
$ git config --list
http.postbuffer=2M
user.name=maxsu
user.email=maxsu@yiibai.com
GIT-SSH 配置和使用
使用 SSH 协议来访问 Git 仓库,提供账户 SSH 公钥和项目 SSH 公钥设置。 用户可以设置账户 SSH 公钥,获所有仓库的读写权限,设置了 SSH 公钥后,就不需要每次对 Git 仓库的操作需要输入用户名和密码。
生成密钥
使用ssh-keygen 命令生成公/私钥,默认全部回车,会在用户目录下创建 .ssh 目录,生成的私钥和公钥文件存放在该目录:
$ ssh-keygen -t rsa -C "lixue@9186.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\Lixue-PC/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\Lixue-PC/.ssh/id_rsa.
Your public key has been saved in C:\Users\Lixue-PC/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Dq2VcQgorI/63WpMpNkOv2IMow6aG4pfjdT/k+GdbAI lixue@9186.com
The key's randomart image is:
+---[RSA 2048]----+
| . .. |
| o . . . |
| . . o . |
|. .. . + |
| o =. o S |
|+ =.oo *E . |
|=+ *o o oo = . |
|Bo+o=. .= = |
|B*oo+o. .+ |
+----[SHA256]-----+
设置 SSH 公钥
使用的 Gitlab 作为 Git 的私钥仓库,首先登录 Gitlab,点击 Settings 找到 SSH Key,复制在上一步生成的公钥文件(id_rsa.pub)内容填入到 Key 字段,点击 Add Key 保存即可。
测试配置
使用命令 ssh 来测试 Gitlab 的公钥配置,如下:
$ ssh -T git@192.168.160.33
The authenticity of host '192.168.160.33 (192.168.160.33)' can't be established.
ECDSA key fingerprint is SHA256:cjXiwka+JzJpLgWuHOlcEjNIm6BhsjMTVV6hX6GnB64.
Are you sure you want to continue connecting (yes/no)?
输入 yes 继续连接
Warning: Permanently added '192.168.160.33' (ECDSA) to the list of known hosts.
Welcome to GitLab, @lixue!
返回了 Welcome to GitLab 表示 SSH 的验证的 Key 配置正确了,后续可以使用 SSH 来获取项目