如何解决所有命令转到空行的git配置问题?

时间:2012-10-08 22:50:45

标签: macos git configuration

我不是git的新手,但我对github更新,而且仍然是bash的初学者。我试图设置一些配置的东西,并最终在我的本地机器上打破git。这是我在these instructions on github for password caching之后所做的。

$ git config --global user.name 'myusername'
$ git config --global user.email 'myemail@email.com'
$ git credential-osxkeychain
git: 'credential-osxkeychain' is not a git command. See 'git --help'.
$ curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain
$ chmod u+x git-credential-osxkeychain
$ which git
/usr/bin/git
$ sudo mv git-credential-osxkeychain /usr/bin/git
$ git config --global credential.helper osxkeychain
^?^C

在这个命令git之后我没有收到任何响应,只是一个新的行,我最终按住了它。现在,每当我在任何 repo中执行git命令时,不仅仅是这个,光标只会移动到一个新行。我无法推/拉/克隆或使用我通常使用的命令。

我已经尝试重新安装最新版本的git但仍有问题。我该怎么办?

更新

我尝试过取消设置credential.helper并卸载并重新安装git。仍然看到相同的行为。我注意到,如果我只运行$ git,则响应为Usage: git credential-osxkeychain <get|store|erase>。此时,我只想删除凭证-osxkeychain。仍然不成功。

根据要求,-a git的输出为:

$ which -a git
/usr/bin/git
/usr/local/git/bin/git

1 个答案:

答案 0 :(得分:2)

运行此命令时:

$ sudo mv git-credential-osxkeychain /usr/bin/git

您使用git可执行文件覆盖了现有的git-credential-osxkeychain可执行文件。该脚本只是作为Git的子命令运行,而不是独立运行。

如果您使用Time Machine,则可以尝试从备份中恢复旧的/usr/bin/git。否则,您需要重新安装Git。


根据以下评论,/usr/bin/git实际上仍然是git-credential-osxkeychain,可能是因为Git将自己安装到/usr/local而不是/usr/bin

如果您不再关心钥匙串行为,可以完全删除当前的git可执行文件:

$ sudo rm /usr/bin/git

如果/usr/local/git/bin在您的路径中,那么可能会导致Git立即开始为您工作。或者您可以将其移至/usr/local/git/bin/git-credential-osxkeychain

$ sudo mv /usr/bin/git /usr/local/git/bin/git-credential-osxkeychain

(再次假设您的路径正确)应该允许您将其用作您最初想要的凭证助手。