github locks up mac terminal when using pull command

GitGithubTerminal

Git Problem Overview


I'm in the process of learning github on mac (command-line) and whenever I do git pull origin master i get this

# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
~                                                                               
".git/MERGE_MSG" 7L, 293C

the terminal seems to lock up and doesn't allow me to enter anything immediately, then when it finally does allow me to enter text it seems like it doesn't recognize git commands.

Is this a bug in git or am i missing something?

Git Solutions


Solution 1 - Git

You're in the text editor, vim! It's a modal text editor, so you would need to:

  1. Press i to enter insert mode.
  2. Now you can type your message, as if you were in a normal (non-modal) text editor.
  3. Press esc to go back to command mode.
  4. Then type :w followed by enter to save.
  5. Finally :q followed by enter to quit.

Solution 2 - Git

Make it simple.

Type :wq and enter

Solution 3 - Git

The editor looks like to be vim according to your descriptions. This console is simply telling you to write some message for the commit you want to make, and it is compulsory as it does.

  • Just type i and you'll go in the -- INTER -- mode, now you can write your comments.

  • After you have done writing, press esc key in your keyboard and you'll go to command mode. (see on the bottom of the console)

  • Now save changes by writing :w followed by pressing enter key

Writing :w command

  • You can quit now by writing :q followed by pressing enter key

Writing :q command

  • Hurray! Finally you're back to the main console.

Solution 4 - Git

More simple is first ESC and then : x (lowercase).

Solution 5 - Git

Run this command

git config --global core.editor "gedit"

Add your message in this file and save it. Go back pull now.

Solution 6 - Git

I fixed this problem by executing following steps

  1. Remove #MERGE_MSG#

    rm .git/\#MERGE_MSG#

  2. Remove MERGE_HEAD

    rm .git/MERGE_HEAD

Additionally, I explicitly set git's editor to an editor that I am familiar with vim (you can set nano)

`git config --global core.editor "vim"`

Solution 7 - Git

You can do git checkout --merge yourbranch

A three-way merge between the current branch, your working tree contents, and the new branch is done, and you will be on the new branch.

Solution 8 - Git

Problems usually happen when we misspell something.
It is more likely this command you are interested in:

git commit -m "message"

if there was a problem, it might say something like

Your branch and 'origin/master' have diverged,
and have 2 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

and use:

git pull

which should lead to:

Already up-to-date.

Then it is good to check:

git status

and try pushing again:

git push

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionzeroView Question on Stackoverflow
Solution 1 - GitceykoView Answer on Stackoverflow
Solution 2 - GitabbasView Answer on Stackoverflow
Solution 3 - GitOM BharatiyaView Answer on Stackoverflow
Solution 4 - GitAriel RuizView Answer on Stackoverflow
Solution 5 - GitAyman ElshehawyView Answer on Stackoverflow
Solution 6 - GitLukasz DynowskiView Answer on Stackoverflow
Solution 7 - GitmdeoraView Answer on Stackoverflow
Solution 8 - GitErik RybalkinView Answer on Stackoverflow