Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Comments on How to revert main branch to an earlier commit in git?

Parent

How to revert main branch to an earlier commit in git?

+7
−0

How to move the main branch back to an earlier commit in git?

History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

Post
+7
−0

With git reset, but first, you may want to save the current state in another branch:

$ git switch main
$ git branch backup-of-main

Now the (perhaps messed up) state is safely stored in branch backup-of-main, and you can always just switch back to it and have another swing.

To move main to an earlier commit:

$ git switch main
$ git reset --hard <commit-hash>

You might still run into issues when pushing main to a remote that has already seen the more futuristic states. In this case, you need to force push:

$ git push --force

When you are absolutely sure that it worked out as you planned, you may consider removing the backup-of-main branch. See this question for how.

History
Why does this post require moderator attention?
You might want to add some details to your flag.

2 comment threads

Actually, this solution is not restricted to `main`, as it works for any branch. Regarding `push -... (7 comments)
Did you mean to add a footnote? I see `[1]` but no referent. Maybe you meant to add something about... (3 comments)
Did you mean to add a footnote? I see `[1]` but no referent. Maybe you meant to add something about...
Monica Cellio‭ wrote 5 months ago

Did you mean to add a footnote? I see [1] but no referent. Maybe you meant to add something about how to use git log to find the right commit?

Iizuki‭ wrote 5 months ago

Just a citation, added as a direct link. Feel free to adjust formatting.

Monica Cellio‭ wrote 5 months ago

Oh, I see -- sorry for misunderstanding! Looks good to me.