Move commits from master onto a branch using git

前端 未结 1 910
南方客
南方客 2020-12-04 15:06

I\'m trying to learn how to use Git effectively and I\'m wondering how I should (good practice/bad practice?) solve the following case:

Say I have the following chai

相关标签:
1条回答
  • 2020-12-04 16:06
    git branch tmp            # mark the current commit with a tmp branch
    git reset --hard Commit1  # revert to Commit1
    

    The SO answer "What's the difference between 'git reset' and 'git checkout' in git?" is quite instructive for that kind of operation

    alt text

    A git reset --hard HEAD~2 would do the same thing (without needing to get back the SHA1 for Commit1 first).

    Since Commit2 and Commit3 are still reference by a Git ref (here a branch), you can still revert to them anytime you want (git checkout tmp).


    Actually, Darien mentions in the comments (regarding moving Commit2 and Commit3 to another branch):

    Accidentally committed to the wrong branch, this let me move it, did:

    git checkout correctbranch
    git rebase tmp
    git branch -d tmp
    

    This works here since the initial branch has been reset to Commit1, which means the git rebase tmp will replay every commit after Commit1 (so here Commit2 and Commit3) to the new 'correctbranch'.

    0 讨论(0)
提交回复
热议问题