Config 配置
Git 配置文件分为三级,系统级(—system)、用户级(—global)和目录级(—local),三者的使用优先级以离目录(repository)最近为原则,如果三者的配置不一样,则生效优先级 目录级>用户级>系统级。
- 系统级(/etc/gitconfig):使用 —system 来进行配置,该配置对系统上所有用户及他们所拥有的仓库都生效的配置值。
- 用户级(~/.gitconfig):使用 —global 来进行配置,该配置对当前用户上所有的仓库有效。
- 目录级(.git/config):使用 —local 来进行配置,只对当前仓库生效。
设置默认分支
可以根据需求设置为系统级(—system)、用户级(—global)和目录级(—local)。
多平台换行符问题 (LF or CRLF)
**文本文件所使用的换行符,在不同的系统平台上是不一样的。**UNIX/Linux 使用的是 0x0A(LF),早期的 Mac OS 使用的是 0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0A(CRLF) 作为换行符。
如果涉及到在多个系统平台上工作,推荐将 git 做如下配置:
Alias 重命名别名
Git 常用命令,可以根据实际需要创建缩写命令。
GPG 签名提交
创建新的GPG 密钥
- 生成 GPG 密钥对
- 平台添加 GPG 公钥配置
将 GPG 公钥添加到 git 托管平台,例如 Github、Gitlab、Gitee 等。
- 本地 Git 仓库关联 GPG 密钥
- 签名 Git commit
运行 Git commit 命令时需要用到 -S
参数,如果不希望每次都要输入 -S
标志,可以配置默认签名。
- 验证签名
最后可以推送签名提交到 git 托管平台,验证是否签名成功!
导入已有的 GPG 密钥
如果你已经有现成的 GPG 密钥,可以导入并使用。
-
导入 GPG 私钥:
-
导入 GPG 公钥:
-
信任导入的 GPG 密钥:
-
重复创建新的GPG 密钥中的第三步。
压缩提交记录
如果在新分支进行了多次提交,然后想合并到主分支。可以使用 —squash 选项,压缩合并提交。
忽略文件更改
配置 Git 的凭据存储
当使用 Git 进行代码管理时,你可以配置 Git 的凭据存储,这样就不需要每次都输入用户名和密码。下面是详细的步骤:
使用凭证缓存
-
开启凭证缓存:
-
设置缓存超时时间(默认为 15 分钟,以下示例设置为 1 小时):
使用凭证管理器
Git for Windows 以及较新的 Git 版本提供了凭证管理器(Credential Manager),可以在多平台下存储和管理凭证。
-
Windows 用户:
-
MacOS 用户:
-
Linux 用户:
使用凭证存储
这种方法会将凭证以纯文本的方式存储在磁盘上,安全性较低。
-
开启凭证存储:
-
第一次使用 Git 操作时输入用户名和密码后,凭证会被保存到磁盘。
-
使用 cat
命令查看 .git-credentials
文件的内容:
请注意,使用 store
凭据存储方式会将密码明文保存在磁盘上,所以请确保你的机器是安全的,并且不要在共享或公共设备上使用该功能。
全局的 Git 日志美化
可以使用 git config --global format.pretty
设置一个全局的 Git 日志格式化语句。
常用的配置选项及其描述:
配置选项 | 描述 |
---|
%H | 提交的完整哈希字符串 |
%h | 提交的简短哈希字符串 |
%T | 树的完整哈希字符串 |
%t | 树的简短哈希字符串 |
%P | 父节点的完整哈希字符串 |
%p | 父节点的简短哈希字符串 |
%an | 作者的名字 |
%ae | 作者的电子邮件地址 |
%ad | 作者修订日期(可以用 —date=选项定制格式) |
%ar | 作者修订日期,相对格式(例如,“2 weeks ago”) |
%cn | 提交者的名字 |
%ce | 提交者的电子邮件地址 |
%cd | 提交日期 |
%cr | 提交日期,相对格式 |
%s | 提交信息标题 |
%b | 提交信息正文 |
%Cred | 文字颜色为红色 |
%Cgreen | 文字颜色为绿色 |
%Cblue | 文字颜色为蓝色 |
%Creset | 重置前面设置的颜色 |
%C(yellow) | 文字颜色为黄色 |
%d | 修饰(比如分支名,标签名) |
%D | 修饰的完整列表 |