Git: remove earlier commit but keep recent changes

前端 未结 8 1496
甜味超标
甜味超标 2020-12-03 10:50

I got some commits in my repository:

like:

A - Added Feature A
B - Removed Feature B
C - Redesigned Feature C
D - Added Feature D
E - Added Feature          


        
相关标签:
8条回答
  • 2020-12-03 11:26
    git reabse -i HEAD~3
    

    you will have the list of your 3 last commit messages

    C - Redesigned Feature C
    D - Added Feature D
    E - Added Feature D
    

    you just insert x git reset HEAD^ before the commit you want to undo, you want to undo commit C, so it will be like this

        C - Redesigned Feature C
    x git reset HEAD^
        D - Added Feature D
        E - Added Feature D
    

    exit rebase console, you will see that your commit is no more in the log and their files are staged.

    0 讨论(0)
  • 2020-12-03 11:28

    Use git revert

    By far the best solution is to use git revert. This will make a new commit that undoes the changes in a specific SHA. This is a very safe way to remove a commit, and can be easily merge with other or remote branches.

    How to use Git Revert

    git revert <insert bad commit hash here>
    
    0 讨论(0)
提交回复
热议问题