专业编程基础技术教程

网站首页 > 基础教程 正文

更改git提交历史中的注释(Commit Message )

ccvgpt 2025-04-30 15:37:18 基础教程 1 ℃

建议操作前将仓库目录复制到其它地方备份

想要改变之前git提交注释信息,需要使用filter-branch命令,该命令会遍历指定的分支,找到最早符合条件的提交信息,并将最早一条一直到当前提交的所有提交进行重写(commit id和注释会发生变化,文件内容及其它提交信息不变)

更改git提交历史中的注释(Commit Message )

如下命令会将当前分支(假设为dev)提交信息中包含first的替换为myfirst,包含second的替换为mysecond

git filter-branch -f --msg-filter '
  msg=$(cat)
  if echo "$msg" | grep -q "first" ; then
    echo "$msg" | sed 's/first/myfirst/g'
  elif echo "$msg" | grep -q "second" ; then
    echo "$msg" | sed 's/second/mysecond/g'
  else
    echo "$msg"
  fi
' HEAD

操作后需要强制覆盖远程分支

git push --force origin dev

其它成员拉取时由于提交记录与本地不一致会报错,所以其它成员需要强制覆盖本地提交记录

git fetch origin                      # 获取服务器提交信息
git checkout dev                   # 切到dev分支
git reset --hard origin/dev   #强制覆盖本地dev分支

Tags:

最近发表
标签列表