有没有办法用匹配特定模式的提交消息压缩所有Git提交?
理想情况下,这将是非交互式的 - 它将在命令行自动生成。
答案 0 :(得分:2)
git rebase -i
创建一个待办事项文件并调用编辑器;假设用户编辑文件并且git解释它。该文件位于well-known format。我创建了一个以非交互方式编辑文件的shell脚本,而不是交互式编辑器;我使用sed -i
对其进行编辑;我使用s///
搜索命令查找pick
的{{1}}命令,并将其替换为$PATTERN
命令。
档案squash
;把你的模式(基本正则表达式)放在那里:
squash.sh
命令行:
#! /bin/sh
exec sed -i 's/^pick \([^ ]\+\) $PATTERN.\+$/squash \1/' $1
答案 1 :(得分:1)
这无法满足您的理想情况下这将是非交互式的...... 请求,但我这样做是为了实现同样的目标:https://twitter.com/csswizardry/status/843040649666596865
更通用的解决方案如下
:g/<pattern>/normal cws
这意味着:
:g/
- 查找包含... <pattern>/
- ...此字符串normal
- 进入正常模式cws
- 将单词更改为s(对于壁球)