1

我对 git 并不陌生,但我对 github 较新,并且仍然是 bash 的初学者。我试图设置一些配置内容并最终在我的本地机器上破坏了 git。这是我按照github 上的这些说明进行的密码缓存操作

$ 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 之后,我没有收到任何响应,只是一个新行,我最终 ctrl+c'ed 出来了。现在,每当我在任何repo 中执行 git 命令时,不仅仅是这个,光标只会移动到新行。我无法推/拉/克隆或使用我通常使用的命令。

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

更新:

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

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

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

1 回答 1

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

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

于 2012-10-08T22:58:58.957 回答