2

我正在尝试在 Mac OS X 上设置 git。我运行了安装,一切似乎都很好,但现在它的行为非常奇怪。键入任何以 开头的命令只会git在我的 shell 中显示一个空行;按Enter第二次然后只给我一个新的命令提示符。这就是我的意思:

wireless-224-128:~ $ git init

wireless-224-128:~ $ git config --global user.name "My Name"

wireless-224-128:~ $ git config --global user.email "my_email@gmail.com"

wireless-224-128:~ $ cd first_git/
wireless-224-128:first_git $ git init

wireless-224-128:first_git $ 

所有这些空行都是程序只是坐在那里什么都不做的地方(至少,我什么都看不到)。如我所说,再按Enter一次会让我回到提示。

这里发生了什么?顺便说一句,在我安装 git osx 钥匙串后,这种行为似乎发生了变化——好吧,我在设置之前运行的唯一 git 命令是配置我的用户名和电子邮件的调用,但它们似乎有效。我不确定钥匙串是否以某种方式弄乱了我的系统。有任何想法吗?

更新:

我有点前进和后退。我试图删除并重新安装 git。现在看来我有一个工作版本的 git,如果我运行/usr/local/git/bin/git --version它会正确响应。但是,如果我输入git --version,它会告诉我-bash: /usr/bin/git: No such file or directory。但是,查看 /usr/bin/git,我确实有一个名为 的文件git,以及其他几个以 git 开头的文件。我勒个去?

进一步更新:

我能够让它工作(至少,据我所知)。我所做的在下面的答案中有详细说明,对于经验丰富的 unix 专业人士来说,这可能是值得抱怨的。感谢所有的帮助。

4

3 回答 3

1

也许你已经安装了 git-credential-osxkeychainin,而 git 实际上是别名:

检查 git 的安装位置which git

确保它git-credential-osxkeychain安装在 /usr/local/bin - 应该安装 git 的同一个地方。如果它安装在 /usr/local/git/bin - 你可以将它添加到你的 PATH 并且一切都应该工作。

其他一些故障排除提示:

尝试"git" init使用引号,如果它有效,那么你有一个别名正在调用其他东西并且没有返回。看看你的 ~/.profile,寻找类似的东西:

alias git="git credential-osxkeychain"- 很可能你有什么。

您可以删除别名来修复。

于 2012-10-30T19:17:07.687 回答
1

您应该通过在终端中输入来检查 git 是否已安装

which git

它应该(如果已正确安装)显示如下内容:

➜  wwwArt git:(development) ✗ which git
/usr/bin/git

如果这确实显示了类似的内容,则安装了 git,您现在必须检查您是否拥有最新版本

➜  wwwArt git:(development) ✗ git --version
git version 1.8.0 (Apple Git-33)

现在,如果您无法执行或您有旧版本,那么我建议您使用系统上的安装路径删除 git 安装(从哪个 git 中找到,或使用聚光灯搜索)

rm -rf /path/to/git
rm /etc/paths.d/git
rm /etc/manpaths.d/git

并在 git-scm 上安装我们朋友的新副本

http://git-scm.com/download/mac(见编辑)

我希望这能帮助你让 git 正常工作——这是你职业生涯中伟大事业的开始。

编辑:

正如@Michael homebrew 所建议的那样,它是一个包管理器,它允许您使用 brews cellar(它存储应用程序的地方)非常轻松地安装/卸载,这是一个更好的前端,并且不会因安装错误而损害您的系统,因为您可以 brew 卸载,您可以找到下面的链接

http://mxcl.github.com/homebrew/

于 2012-10-30T19:17:34.970 回答
0

好吧,我不确定到底发生了什么,但我想我可能不小心覆盖了一个文件或以其他方式损坏了我的安装。最终修复它的是运行uninstall.h包中包含的脚本,删除所有与 git 相关的二进制文件/usr/bin,重新安装包,然后退出并重新启动终端。如果不执行最后一步,终端将继续在 /usr/bin 中查找文件,即使在重新安装后也是如此。

感谢您的所有帮助。事实证明,我认为它只是归结为简单的用户错误/与 unix 相关的愚蠢。:)

于 2012-10-30T19:40:00.123 回答