After Git Revert command I can't use the command line / git
Asked Answered
D

1

16

I'm doing a git revert on a commit using git revert [commit number]

Real life example being:

git revert 58c128313e353b8dd7d04121824b966faefe68dc

After I do this it takes me to the screen where it shows me the revert message, but I can't exit this screen and I can't type anything.

I've tried pressing Q which is how I quit the git log screen, but this doesn't work either. When I force quit terminal and go back in, the revert has taken place.

How do I do a revert and then got back to the command line and carry on working as usual?

Screenshot

Here is the screenshot of what it is saying

Disruptive answered 9/2, 2017 at 20:1 Comment(6)
I guess vim opened for you: Try ESC then :q followed by EnterStaunch
It is likely asking for a commit message and brought up the screen in VIM. Try entering esc (to clear anything you mightve entered) then :qand enter EDIT: @Staunch beat me to it.Ten
Neither of those worked. I'll upload a screen shot of what it is saying.Disruptive
actually I can't see how to upload a screenshot?Disruptive
Possible duplicate of How to exit the Vim editor?Orangutan
I don't think this should be a duplicate because I spent a long time searching this site for a solution before posting the question and being new / relatively new to GIT i had no idea I was in the Vi editor or what it even was. The fact that this answer is here might well help / save a lot of time for someone in the future.Disruptive
G
19

You are in the vi or vim editor, which is the default on many Linux distributions.

To save the file and exit, thus completing your revert, type:

Esc:wqEnter

Or you can abort the editor without saving, if you prefer that:

Esc:q!Enter

You can avoid this editor in the future if you wish. Find an editor you do want to use (emacs, nano, joe, whatever...) and set it as your default instead. You can do that in your shell file (e.g. .bash_profile) like this:

export EDITOR=/usr/bin/nano
export VISUAL=$EDITOR
Granjon answered 9/2, 2017 at 20:15 Comment(5)
You're missing :?Ten
@Ten Wow that's embarrassing ;) Thanks for the note, I fixed it.Granjon
It was the esc : q ! enter version that worked. Thanks. When I check git status afterwards, it's not showing back in my staging area? Surely if i'm reverting it from a commit this is where it should go?Disruptive
@EmilyChewy No, git revert creates a new commit which has the effect of reversing everything from the commit you chose to revert. It's like a patch, but to undo an earlier commit. Since a new commit is created, your staging area will be empty.Granjon
Ah, I see. Thanks Dan.Disruptive

© 2022 - 2024 — McMap. All rights reserved.