---
url: /dev/bhmhgd03/index.md
description: 使用 git filter-branch 批量修改历史提交者信息，统一项目的 Git 提交人名称和邮箱。
---
用于修改历史git提交信息

强制将所有的提交人变更为`AkaChou`,并且所有的邮箱都改为`mc123@vip.qq.com`

## 统一历史提交者信息

有时可能需要修改历史提交者，比如项目提交者信息错误，或者项目提交者信息是多个人，需要统一，就可以用此方法统一一个提交人

> \[!WARNING]
> 需要谨慎执行

1. 进入项目目录，执行下面的命令
   ```shell
   git filter-branch --commit-filter '                                                                                      
   GIT_AUTHOR_NAME="AkaChou";
   GIT_AUTHOR_EMAIL="mc123@vip.qq.com";
   GIT_COMMITTER_NAME="AkaChou";
   GIT_COMMITTER_EMAIL="mc123@vip.qq.com";
   git commit-tree "$@";
   ' HEAD
   ```
2. 强制提交
   ```shell
   git push --force --all  
   ```

## 修改全局提交信息

修改全局Git提交人

```shell
git config --global user.name "AkaChou"
```

修改全局邮箱

```shell
git config --global user.email "mc123@vip.qq.com"
```

## 其他

### 查看当前提交者信息

```shell
git log -1 --pretty=format:'%an <%ae>'
```

### 查看某个文件的提交人历史

```shell
git log -- <filename>
```

### 查看某一行是谁改的

```shell
git blame <filename>
```
