使用git commit --amend
可以简单的修改前一条记录,但是不能修改前面第 N 次提交记录,这个时候使用git commit --fixup
可以修改前面的提交第 N 次记录。
使用方法
例如,要对Fix article page
上的提交进行额外修改。
❯ git log --oneline
1131338365 (HEAD -> edit_article_page) Fix settings page
9c57cb3e7a Fix article page
ab6a6bef9d Add column
cgbaeef9d3 (master) Initial commit
提交的时候,使用--fixup <参数>
参数:提交的哈希值
❯ git add .
❯ git commit --fixup 9c57cb3e7a
日志显示如下:
❯ git log --oneline
26a2dc16a8 (HEAD -> edit_article_page) fixup! Fix article page
1131338365 Fix settings page
9c57cb3e7a Fix article page
ab6a6bef9d Add column
cgbaeef9d3 (origin/master, master) Initial commit
最后,执行git rebase -i --autosquash <参数>~
Autosquash 会合并 fixup ! 开头的提交。
参数:提交的哈希值
~:如果加了
~
,参数设置为需要修改的提交(9c57cb3e7a), 如果不加~
,参数设置为需要修改的上一次提交(ab6a6bef9d)。
```bash
❯ git rebase -i --autosquash 9c57cb3e7a~
pick ab6a6bef9d Add column
pick 9c57cb3e7a Fix article page
fixup 26a2dc16a8 fixup! Fix article page
pick 1131338365 Fix settings page
# Rebase 671ca6fcee..f235308862 onto 671ca6fcee (4 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup [-C | -c] <commit> = like "squash" but keep only the previous
保存编辑器后,看到如下的结果:
❯ git log --oneline
1131338365 (HEAD -> edit_article_page) Fix settings page
9c5a2d3e7a Fix article page
ab6a6bef9d Add column
cgbaeef9d3 (origin/master, master) Initial commit
相关文章
在Windows上使用pg_upgrade升级PostgreSQL
本文将介绍 PostgreSQL 数据库从 9.x 版本升级到 11.x 版本。升级 PostgreSQL 时 可以把新版本的...
如何在中国注册观看奈飞(Netflix)
喜欢追美剧的网友可能听说过“奈飞”(Netflix)这个平台。奈飞到底是什么?在中国能看奈飞吗?看奈飞需要翻墙吗?如何注册奈飞账号?
为什么用ipv6连接vpn更快
提升 IPv6 端到端贯通能力,对持续提升 IPv6 活跃用户和网络流量规模有着重要意义。发展基于 IPv6 的下一代互联网,也为 5G、数据中心等新型基础设施建设奠定基础,更为未来发展大规模的物联网、工业互联网开拓网络空间,搭建基础环境。