# Git是谁提交的代码

By [liuwill](https://paragraph.com/@liuwill) · 2022-09-07

---

### 如何管理和修改提交的作者和邮箱

#### 设置邮箱和用户名

在使用Git的时候，每一次Commit都会把作者和邮箱写入到Message里，而且作者和邮箱是必须设置的，我们可以通过一些命令，设置当前开发者的用户信息；

我们可以通过config命令，查看当前的配置；

    ## 查看全部配置
    git config --list
    
    ## 查看本地配置
    git config --list --local
    
    ## 查看全局配置
    git config --list --global
    

##### 设置全局配置

最简单的方式就是直接设置一个全局的用户名和邮箱，设置之后，所有的git仓库提交，都会使用全局用户名邮箱。

    git config --global user.name "liuwill"
    git config --global user.email "liuwill@live.com"
    

配置成功之后，配置信息将会存储在当前用户目录的`~/.gitconfig`文件中，格式如下：

    [user]
      name = liuwill
      email = liuwill@live.com
    

##### 设置当前项目配置

如果我们希望某个项目和全局的代码提交是不同的作者，git提供了项目级别的配置，可以方便的为当前项目设置单独的配置。命令如下：

    git config --local user.name "liuwill"
    git config --local user.email "liuwill@live.com"
    

配置成功之后，信息同样会保存在文件系统中，格式和全局配置相同，文件是当前项目下的`./.git/config`。

##### 设置当次提交的的作者和邮箱

当然，既然可以全局设置作者，也能够为当前项目指定配置，是不是可以针对每次提交，都指定不同的作者和邮箱，结论是肯定的，git提供了commit命令的author参数，能够帮助我们达到目的。

    git commit -m 'feat: something commit' --author "liuwill <liuwill@live.com>"

---

*Originally published on [liuwill](https://paragraph.com/@liuwill/git)*
