Git 入门配置

配置文件原理

在 Git 中,我们一般只需要关注两个配置文件,gitconfig.gitignore,前者用来对 git 的行为进行配置,后者则用来指定文件的忽略规则。如果命中了规则,就不会添加到 Git 的版本管理中。

对于某个 Git 仓库来说,一般同时有两个 gitconfig 文件生效,一个是 ~/.gitconfig,它是全局的配置,另一个则位于每个 git 仓库下的 .git/config。如果有重复的配置项,项目配置的优先级高于全局配置,否则两者是相辅相成的关系。

.gitignore 文件也是类似,分为全局和项目两个配置,区别在于在 git 仓库中的任意一个目录都可以有 .gitignore 文件,当然这个文件只对此目录内的文件生效

配置 GPG 秘钥

GPG 秘钥可以确保提交的安全性,和 HTTPS 有些类似的是,使用 GPG 秘钥的提交在 GitHub 上会显示成绿色的 Verified 字样。

为了实现这个效果,需要进行以下几步:

  1. 如果使用我的安装脚本可以跳过这一步,否则执行 brew install gpg 来安装依赖。
  2. 输入 gpg --full-generate-key 并按照配置安装,注意第三步选择时长时,如果是个人使用可以填 0,表示永不过期,避免以后的麻烦。最后填写密码时可以不填。
  3. 安装完成后输入 gpg --list-keys 查看刚刚生成的秘钥,在 pub 下面有一长串数字和字母,这个是 GPG-ID。
  4. 输入 gpg --armor --export pub GPG-ID 把公钥复制出来,拷贝到 GitHub GPG Keys 上。
  5. 输入 git config --global user.signingkey GPG-ID 来配置使用哪个 key。
  6. 单次提交时使用 git commit -s 参数来开启 GPG key,或者使用git config --global commit.gpgsign true 设置为全局默认使用。
  7. 输入 gvc <commit_hash> 来检查某次提交的 GPG 签名情况,如果没有输出,说明没有签名。它是git verify-commit命令的缩写。

配置个人信息

首先要配置个人的名字和邮箱:

  1. gce ktzhang@bestswifter.com:配置邮箱,这是我的简写,完整的命令是:git config user.email
  2. gcn bestswifter:配置用户名,完整的命令是 git config user.name

配置忽略规则

.gitignore 文件中我们可以配置需要忽略哪些文件和文件夹。注意,这个文件仅对还没有被纳入 git 版本管理的文件生效,一旦某个文件被暂存过,再配置 .gitignore 就无效了,此时我们需要先把所有的文件取消暂存,再重新暂存。

我配置了命令 reignore 专门用于解决这类问题,它的完整定义如下:

alias reignore='git rm -r --cached . && git add .'

如果某个文件不小心命中了忽略策略,就无法暂存到 git 中,而且 git 给出的提示并不友好。尤其是如果有多个 .gitignore 文件,很难知道哪一条规则导致了文件被忽略,此时可以使用 whyignore file_name 命令,它的完整定义时:

alias whyignore='git check-ignore -v'

results matching ""

    No results matching ""