So I wanted to go back to my previous commit without destryoing the latest one I have now. How do I do this? Doing a git reset HARD will destroy my current commit right?
Assuming you don't have any changes that you have not checked in, git checkout $OLD_COMMIT
will take you there, and git checkout $BRANCH
will take you back.
That will put you, potentially, on a detached head; see git checkout --help
for the details, but if all you want is to run tests on the old version or something that should be fine.
You might also be interested in:
git stash
- to store away uncommitted changes temporarily
git show $SHA1
to show the changes of the old commit as a diff
git show ${REF}:${PATH}
to show the content of $PATH in $REF
(Ref can be a sha, or a branch, or whatever, in the last git show invocation.)
Use git revert
. This allows you to undo a specific commit without upsetting commits since.
If I understand your case correctly, you have:
* abc123de a_good_commit
* bc123def a_bad_commit
* c123def4 another_good_commit
You can either git revert HEAD^
or use a specific hash: git revert bc123def
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With