Why is git hanging - have to press enter twice aft

2020-06-01 13:58发布

问题:

Edit: Summary: Every command entered in Git produces a hanging cursor which then says "bad input" if anything is typed before enter is pressed. No commands produce any results. I tried a fresh install with no results.

I am completely new to Git. No idea what I'm doing whatsoever. (I'm on a Mac)

I was following the basic instructions on the site:

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:aerovistae/MetPetDB-Mobile.git
git push -u origin master

But as soon as I type in "git init", the terminal hangs. I press enter, nothing happens, the prompt doesn't start a new line...it just starts a blank line with no blinking cursor. I press enter a second time, the prompt returns, having skipped a line in the terminal, and now waiting for my next command.

I don't really understand what's going on here, and I'm not sure if something's wrong or not.

EDIT:

Git was installed from the main downloads page.

http://git-scm.com/downloads

After I hit enter on git init I get the blinking cursor on a blank new line, and after a moment I hesitantly typed in Testing and hit enter again. It then spat out, on the next line, bad input: Testing and showed me a new prompt.

I tried reinstalling, but to no avail. I try other git commands, like git config --global user.name "Meeeee" But it doesn't matter. They all produce the same hanging.

回答1:

Considering you are on OS X, and after Keith Thompson's comment, it is possible

  • you have an alias in place for git, invoking credential-osxkeychain.
    See "Git hangs indefinitely - broke with osx credential helper I think":

you've aliased git to something else (probably alias git="git credential-osxkeychain"), and you should look in ~.profile to see if you can remove the alias.

  • or you have several git installed:

It looks like you installed the git-credential-osxkeychain wrapper in the wrong place (did you cp to /usr/bin/git instead of /usr/local/git/bin?)
To fix, you'll want to just delete /usr/bin/git; assuming git is still installed in /usr/local/bin it should take over.

It's actually installed to /usr/local/git/bin so I just added that to my PATH.



回答2:

Hmm perhaps you are in a directory which is not writable?

Normally you can create a directory.

mkdir test
cd test
git init

then you init an empty GIT repo in the test folder and you should see a folder named ".git" which is hidden. Perhaps you can try to build a bare repository.

git --bare init

But your problem sounds a bit strange. Du you run your command with all rights?