合并多个commit记录
假设我们当前有三个commit信息,现在要将commit hash为 23f92c 和 409978 合并
//git rebase -i HEAD~3
那么我们可以使用 rebase命令,输入如下命令:
git rebase -i 897bb5
897bb5 是first commit 的 hash值,之后出现如下,上部分为commit信息,下部分为注释
有七个命令可供选择:
- pick:正常选中
- reword:选中,并且修改提交信息;
- edit:选中,rebase时会暂停,允许你修改这个commit
- squash:选中,会将当前commit与上一个commit合并
- fixup:与squash相同,但不会保存当前commit的提交信息
- exec:执行其他shell命令
- drop:移除commit信息
正常选中 second commit,将third commit 与 second commit合并
命令可以使用完整命令,也可以使用缩写,
我们可以修改commit信息,也可以添加新的commit信息,完成commit信息的提交后,两条commit提交就合并在一起了
回滚错误的commit提交
- git revert
//撤销操作,回到指定提交点, //通过revert的撤销操作是在最后一个提交上增加了一个撤销了操作的新提交 git revert <commit>
- git reset
//删除最新一次的提交,HEAD~1可替换为指定的 commit hash 值,回退到指定提交点 git reset HEAD~1 //同上,但是不保留最新更改 git reset --hard HEAD~1 //强制推送 git push --force