Git 批量修改Commit Message 发表于 2017-02-17 | 分类于 开发那些事 , Git | Ruby 脚本使用 git rebase 命令批量给 commit message 加前缀 原 commit log 123456789101112c97a228 修改通知设置页问题4726e70 关于页面,顶部视图自动调整高度至最佳70a4b2c fix关于页面导航栏问题,去除关于、系统通知、推送管理页面Storyboard关联0e369b6 关于LesPark页面UI完成7186152 更改系统通知界面UI5afc075 推送管理页面,当无更多关注时去除底部上拉加载更多动画。19c1ecd 更改推送管理页面的样式,修复该页面一些bugb5feb88 重写语言设置和公制页3f3ca86 Refactor setting cellsb7e212e 重写设置页、隐私页,统一设置模块cell8349479 重写账号绑定页7fcacb9 重写账号信息页 修改之后 123456789101112c97a228 [设置] 修改通知设置页问题4726e70 [设置] 关于页面,顶部视图自动调整高度至最佳70a4b2c [设置] fix关于页面导航栏问题,去除关于、系统通知、推送管理页面Storyboard关联0e369b6 [设置] 关于LesPark页面UI完成7186152 [设置] 更改系统通知界面UI5afc075 [设置] 推送管理页面,当无更多关注时去除底部上拉加载更多动画。19c1ecd [设置] 更改推送管理页面的样式,修复该页面一些bugb5feb88 [设置] 重写语言设置和公制页3f3ca86 [设置] Refactor setting cellsb7e212e [设置] 重写设置页、隐私页,统一设置模块cell8349479 [设置] 重写账号绑定页7fcacb9 [设置] 重写账号信息页 Ruby 脚本 123456789101112131415161718192021222324252627282930313233343536373839#!/usr/bin/env rubyPROJECT_PATH = "/Users/zhudf/LegendPark/lespark_ios"COMMIT_PREFIX = "[设置] "def construct_commit_msg(orig_msg) new_msg << COMMIT_PREFIX orig_msg.split.each_with_index do |s, i| if i != 0 new_msg << s end end new_msgenddef batch_amend puts 'Change to project dir...' Dir:chdir(PROJECT_PATH) puts 'Batch amend commit message :::::::: BEGIN' while $? == 0 orig_msg = `git log --oneline -1` new_msg = construct_commit_msg(orig_msg) `git commit --amend -q -m #{new_msg} && git rebase --continue > /dev/null` end puts 'Batch amend commit message :::::::: END'endbatch_amend