美文网首页
git -- 删除某次本地的commit

git -- 删除某次本地的commit

作者: 踩坑小分队 | 来源:发表于2020-04-01 09:58 被阅读0次

    场景:
    本地提交了多次,发现某一次提交有问题,怎么删除?

    方法一:
    rebase -i
    假如想要抽掉某个 commit 又不想留下记录, rebase -i 就很好用了

    假如只想要还原 D 变成:

    A -> B -> C -> E
    则用命令

    git rebase -i C
    这时候会出现文字编辑

    pick D xxx
    pick E ooo
    把 pick D xxx 整列移除后储存就可以了,若中间有遇到冲突,则必须自行修正后再继续

    git add .
    git rebase --continue

    方法二:
    reset
    用于做整段 commits 的还原

    例如希望还原到 B commit 以后的状态变成

    A -> B

    git reset B
    那么 git 会将 log 中的 C, D, E 都清除

    但档案内容没有任何变动,因此会看到 C, D, E 修改的档案处在 unstaged 阶段

    若针对部分档案还原可以用

    git checkout [file path]
    若要全部还原可用

    git checkout -f

    相关文章

      网友评论

          本文标题:git -- 删除某次本地的commit

          本文链接:https://www.haomeiwen.com/subject/bqyguhtx.html