修改gitcommit的author信息实现方式

作者:

文章目录
  • 本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭。
  • 以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。 您可能感兴趣的文章: Git Commit Message写错问题的解决方案 git回退commit并删除远端提交记录方式 如何使用git reset进行多commit合并 idea中实用的git操作问题小结(撤回commit,撤回push、暂存区使用) git提交报错pre -commit hook failed (add –no-verify)问题及解决 关于git commit 命令解读
  • 目录
    • 修改git commit的author信息
      • 查看提交日志
      • 重置本项目用户信息
      • 使用amend命令修改commit信息
      • 输入amend命令重置用户信息
      • 通过continue命令回到正常状态
    • 总结

      本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭。

      假设以a(a@email.com)提交了三次,发现提交用户错了,应该用b用户提交:

      $ git log
      
      # 输出如下
      commit 3 (HEAD -> branch1)
      Author: a <a@email.com>
      Date: Thu Nov 22 16:22:59 2018 +0800
          commit 3
      commit 2 (HEAD -> branch1)
      Author: a <a@email.com>
      Date: Thu Nov 22 16:22:59 2018 +0800
          commit 2
      commit 1 (HEAD -> branch1)
      Author: a <a@email.com>
      Date: Thu Nov 22 16:22:59 2018 +0800
          commit 1

      $ git config user.name 'b'
      $ git config user.email b@email.com

      $ git commit --amend --reset-author

      amend命令只会修改最后一次commit的信息,之前的commit需要使用rebase:

      $ git rebase -i HEAD~3
      
      # 输出如下
      pick 1 commit 1
      pick 2 commit 2
      pick 3 commit 3

      要修改哪个,就把那行的pick改为edit,然后退出。

      例如想修改commit 1的author,光标移到第一个pick,按i键进入INSERT模式,把pick改为edit:

      edit 1 commit 1
      pick 2 commit 2
      pick 3 commit 3
      ...
      -- INSERT --

      然后按esc键,退出INSERT模式,输入:wq退出,这时可以看到提示,可以修改commit 1的信息了:

      Stopped at 1 commit 1
      You can amend the commit now, with
          git commit --amend
      Once you are satisfied with tour changes, run
          git rebase --continue

      $ git commit --amend --reset-author

      会出现commit 1的提交记录及注释内容,可进入INSERT模式修改注释,:wq退出。

      这时再查看提交历史,发现commit 1的author已经变成b(b@email.com)了,且是最新一次记录。

      $ git rebase --continue

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持风君子博客。

      您可能感兴趣的文章:

      • Git Commit Message写错问题的解决方案
      • git回退commit并删除远端提交记录方式
      • 如何使用git reset进行多commit合并
      • idea中实用的git操作问题小结(撤回commit,撤回push、暂存区使用)
      • git提交报错pre -commit hook failed (add –no-verify)问题及解决
      • 关于git commit 命令解读

      站内搜索