github locks up mac terminal when using pull command
GitGithubTerminalGit 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:
- Press i to enter insert mode.
- Now you can type your message, as if you were in a normal (non-modal) text editor.
- Press esc to go back to command mode.
- Then type
:w
followed by enter to save. - 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 pressingenter
key
- You can quit now by writing
:q
followed by pressingenter
key
- 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
-
Remove #MERGE_MSG#
rm .git/\#MERGE_MSG#
-
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