美文网首页
Git 修改已提交 commit 的信息

Git 修改已提交 commit 的信息

作者: 叨叨软件测试 | 来源:发表于2020-10-19 18:36 被阅读0次

背景

由于 Github 和公司 Git 使用账号不一样,偶尔没注意,提交出错后就需要修改 commit 信息。

修改最后一次提交 commit 的信息

# 修改最后一次提交的 commit 信息
$ git commit --amend --message="modify message by daodaotest" --author="jiangliheng <jiang_liheng@163.com>"

# 仅修改 message 信息
$ git commit --amend --message="modify message by daodaotest"

# 仅修改 author 信息
$ git commit --amend --author="jiangliheng <jiang_liheng@163.com>"

修改历史 commit 的信息

操作步骤:

  • git rebase -i <commit id> 列出 commit 列表
  • 找到需要修改的 commit 记录,把 pick 修改为 edite:wq 保存退出
  • 修改 commit 的具体信息git commit --amend,保存并继续下一条git rebase --continue,直到全部完成
  • 中间也可跳过或退出git rebase (--skip | --abort)
# 列出 rebase 的 commit 列表,不包含 <commit id>
$ git rebase -i <commit id>
# 最近 3 条
$ git rebase -i HEAD~3
# 本地仓库没 push 到远程仓库的 commit 信息
$ git rebase -i

# vi 下,找到需要修改的 commit 记录,```pick``` 修改为 ```edit``` 或 ```e```,```:wq``` 保存退出
# 重复执行如下命令直到完成
$ git commit --amend --message="modify message by daodaotest" --author="jiangliheng <jiang_liheng@163.com>"
$ git rebase --continue

# 中间也可跳过或退出 rebase 模式
$ git rebase --skip
$ git rebase --abort

批量修改历史 commit 信息

创建批量脚本changeCommit.sh

$ cat changeCommit.sh
#!/bin/sh

git filter-branch --env-filter '

# 之前的邮箱
OLD_EMAIL="jiangliheng@126.com"
# 修改后的用户名
CORRECT_NAME="jiangliheng"
# 修改后的邮箱
CORRECT_EMAIL="jiangliheng@163.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

执行脚本成功后,强制推送到远程服务器:

$ git push --force --tags origin 'refs/heads/*'

微信公众号:daodaotest

相关文章

  • Git 修改commit 提交记录

    修改commit 之后的提交信息 // 修改最后一次提交git commit --amend 第一步i // ...

  • git commit

    git commit 命令用来将本地暂存的修改提交到版本库 git commit -m '提交信息' 我们用的比较...

  • 【git】实用命令

    修改已提交分支的备注信息:git commit --amend

  • git随笔

    git 常用操作 修改提交信息本地撤销修改记录git commit --amend通过此命令进入到提交信息界面,...

  • Git 提交规范

    前言在提交commit信息时,为了统一规范commit信息,可以在Git Hooks中编写修改commit-msg...

  • webstorm可视化操作合并代码到develop分支

    1.提交到本地 命令 git add 修改文件 git commit -m "注释信息" git status 查...

  • 《git权威指南笔记》

    修改提交说明 git commit --amend修改最新提交的提交说明 git rebase -i

  • git 常用的命令

    修改提交得message 拿出某次提交内容 合并提交的merge信息 查看提交记录 撤销commit git di...

  • git修改已经提交的commit

    git修改已经push过的commit信息 在使用git提交代码时会出现提交信息写错的情况,并且已经push到远程...

  • iOS Git使用笔记

    Git修改已经push过的commit信息: 在使用git提交代码时会出现提交信息写错的情况,并且已经push到远...

网友评论

      本文标题:Git 修改已提交 commit 的信息

      本文链接:https://www.haomeiwen.com/subject/vmllmktx.html