提交信息时,用错了账户名称怎么办?

由于可以设置全局和系统的配置,在公用设备上提交更改时,没有设置版本库的config的用户账号时,会使用其他人设置的全局配置用户提交。
周边的同事遇到了多次,下面看一下该如何修改回来:

点击(此处)折叠或打开

  1. [root@S-LAB-52 demo]# git log | more
  2. commit db8bd631c8ea69e968c583d009bd97224e110738
  3. Author: test <test@gmail.com>
  4. Date: Mon Dec 28 11:30:48 2015 +0800

  5.     who does commit
上面这个Log显示最近的一次提交,全局配置user.name是test,user.email是[email protected],而版本库中又没有设置user.name,
因此提交时使用了全局配置账户。那要改回自己的账户名称test_01,如何处理?

设置当前版本库config的账户信息如下:

点击(此处)折叠或打开

  1. git config user.name test_01
  2. git config user.email test_01@gmail.com

点击(此处)折叠或打开

  1. [root@S-LAB-52 demo]# cat .git/config 
  2. [core]
  3.     repositoryformatversion = 0
  4.     filemode = true
  5.     bare = false
  6.     logallrefupdates = true
  7. [user]
  8.     name = test_01
  9.     email = test_01@gmail.com
然后执行git commit --amend,如下:
点击(此处)折叠或打开
  1. [root@S-LAB-52 demo]# git commit --amend --reset-author --allow-empty
  2. [master 582e813] who does commit
  3. [root@S-LAB-52 demo]# git log
  4. commit 582e8137c51efc81cec1f17026ef97d282208aa2
  5. Author: test_01 <test_01@gmail.com>
  6. Date: Mon Dec 28 11:41:23 2015 +0800

  7.     who does commit
--amend    是对刚刚的提交进行修补,可以改正前面错误提交的用户名和邮件地址,而不会产生另外的提交
--allow-empty    允许空白提交,因为这里提交的是个空白文件,仅仅是为了修补
--reset-author    含义是将Author的ID同步修改,否则只会影响commit的ID,该参数也会重置Author Date信息

01-03 17:14