1、修改最近提交
git commit --amend 修补式提交。将本次提交的内容与上次提交合并到一个commit里边。
2、将多次提交压缩为一次提交
git reset --soft HEAD~2
git commit
3、删除某次提交
如删除A-B-C-D中的提交B,可以执行如下命令:
切换到commit A,这时候会提示头指针分离警告
git checkout A
用cherry-pick在HEAD上应用提交C
git cherry-pick C
用cherry-pick在HEAD上应用提交C
git cherry-pick D
切换为需要修改的分支
git checkout master
把当前分支的HEAD指向新的提交ID
git reset --hard HEAD@{1}
cherry-pick,用于选择一个提交并应用在当前工作的分支中。该命令需要一个提交ID作为参数,操作过程相当于将提交导出为补丁文件,然后在当前HEAD上重放。
4、