git 如何在不进入交互式编辑器的情况下 合并commit ?
有 3 个 commit, 想合并成 1 个,不想去手动改,就想写个 js 脚本来做,
但是不知道什么命令可以在 不进入交互式编辑,还能合并 commit 的,
有大佬知道吗?
回复
1个回答

test
2024-07-13
1. 用 --interactive
但是不 interactive
GIT_EDITOR=true GIT_SEQUENCE_EDITOR="sed -i -e '2,\$s/^pick/squash/'" git rebase -i HEAD~3
GIT_SEQUENCE_EDITOR
用于编辑 todo,将第二行开始每行开头的 pick
都换成 squash
GIT_EDITOR=true
用于防止 squash 时 git 打开编辑器
2. 利用 reset
git reset --soft HEAD~3
git commit -m 'squash message'
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容