git的特殊需求使用技巧
# 合并多次提交/追加更改
# 适用场景
适用于提交了一次代码之后,发现上次提交还有问题,如果再次提交就会生成两次 commit 记录。
或者是开发了很多小功能有多个 commit,但是只想要一次commit 记录。
# 操作方法
如果是上次提交有错误还要改,就先 commit 一次,然后把最近两次 commit 合并。
假设要合并最近N次提交,有两种方法,第一种先使用git log
查看最近的提交记录,找到倒数第N+1
次提交的记录的 id,然后使用git reset -i [logid]
。第二种更简单直接git reset -i HEAD~2
。
这时候会打开一个文本编辑器,展示最近N 次的提交记录,取决于你安装 git 的时候选了什么,可能是 vim 或者 vscode。
将除了最上面提交的 pick
改为 s
,然后保存退出文本编辑器。
此时会再次打开一个文本编辑器,显示要合并的提交的所有备注,可以把不需要的删掉或者在前面加上#
注释。
再保存退出,这时就已经合并成功了。需要注意的是如果上次 commit 已经 push 到 remote 了,这次需要使用git push -f
(谨慎使用,如果别人也有提交会把他们的提交直接覆盖!)否则会被拒绝。
编辑 (opens new window)
上次更新: 2024/12/04, 16:28:16