对于最新一次提交
直接使用git commit --amend
即可覆盖。
对于距今比较久远的(本地)提交记录
如果那次提交到最新提交之间的记录信息都可以丢弃,直接使用git reset hash1
>git commit --amend
覆盖某次提交即可
如果需要保留中间的提交记录,按以下步骤修改:
1.确保当前工作区没有未提交的代码
2.检出某个需要修改的提交 git checkout hash1
3.修改代码
4.直接使用分离的HEAD做一次覆盖提交git commit --amend
(假设哈希是 hash1')
5.检出原有分支git checkout master
6.rebase到第4步覆盖提交的结果上git rebase hash1'
rebase可以从分叉处检测提交记录差异并追加到指定分支,上边第2步hash1之后的所有提交记录都被追加到修改了提交记录的hash1'上。