1
0

Git:常用技巧

This commit is contained in:
周中平 2023-12-29 11:21:57 +08:00
parent f6eb6019eb
commit d590c61a10
Signed by: zhouzhongping
GPG Key ID: 6666822800008000

View File

@ -22,14 +22,14 @@ git config --system user.name "用户名"
git config --system user.email "邮箱地址"`
```
2. **用户级**~/.gitconfig使用 **--global** 来进行配置,该配置**对当前用户上所有的仓库有效**。
1. **用户级**~/.gitconfig使用 **--global** 来进行配置,该配置**对当前用户上所有的仓库有效**。
```shell
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
```
3. **目录级**.git/config使用 **--local** 来进行配置,**只对当前仓库生效。**
1. **目录级**.git/config使用 **--local** 来进行配置,**只对当前仓库生效。**
```shell
git config --local user.name "用户名"
@ -44,7 +44,7 @@ git config --local user.email "邮箱地址"
git config --global init.defaultBranch <分支名称>
```
## 多平台换行符问题(LF or CRLF)
## 多平台换行符问题 (LF or CRLF)
**文本文件所使用的换行符,在不同的系统平台上是不一样的。**UNIX/Linux 使用的是 0x0ALF早期的 Mac OS 使用的是 0x0DCR后来的 OS X 在更换内核后与 UNIX 保持一致了。但 DOS/Windows 一直使用 0x0D0ACRLF 作为换行符。
@ -117,11 +117,11 @@ ssb cv25519/812B586FD245B560 2021-09-14 [E]
gpg --armor --export 4AEA00A342C24CA3
```
2. 平台添加 GPG 公钥配置
1. 平台添加 GPG 公钥配置
将 GPG 公钥添加到 git 托管平台,例如 Github、Gitlab、Gitee 等。
3. 本地 Git 仓库关联 GPG 密钥
1. 本地 Git 仓库关联 GPG 密钥
```shell
// 3.1 列出 GPG 密钥
@ -137,7 +137,7 @@ ssb cv25519/812B586FD245B560 2021-09-14 [E]
git config --global user.signingkey 4AEA00A342C24CA3
```
4. 签名 Git commit
1. 签名 Git commit
运行 Git commit 命令时需要用到 `-S` 参数,如果不希望每次都要输入 `-S` 标志,可以配置默认签名。
@ -149,7 +149,7 @@ git commit -S -m "your_commit_message"
git config --global commit.gpgsign true
```
5. 验证签名
1. 验证签名
最后可以推送签名提交到 git 托管平台,验证是否签名成功!
@ -192,3 +192,38 @@ git merge --squash <branchName>
这样,你就可以在使用 Git 进行操作时记住密码了。请注意,**使用 store 凭据存储方式会将密码明文保存在磁盘上**,所以请确保你的机器是安全的,并且不要在共享或公共设备上使用该功能。
## 全局的 Git 日志美化
可以使用 `git config --global format.pretty` 设置一个全局的 Git 日志格式化语句。
```bash
git config --global format.pretty "%C(red)%h%C(reset) - %C(yellow)%d%C(reset) %s %C(green)(%cr) %C(bold blue)<%an>%C(reset)"
```
常用的配置选项及其描述:
| 配置选项 | 描述 |
| ------------ | --------------------------------------------- |
| `%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` | 修饰的完整列表 |