我所有的git命令都什么都不做

时间:2012-10-30 19:07:09

标签: git

我正在尝试在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 keychain之后,行为似乎发生了变化 - 好吧,我在设置之前运行的唯一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专业人士而言,这可能是值得呻吟的。感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

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

检查git的安装位置which git

确保{/ 1}}安装在/ usr / local / bin中 - 与安装git的位置相同。如果它安装在/ usr / local / git / bin中 - 你可以将它添加到你的PATH中,一切都应该有效。

其他一些故障排除提示:

尝试使用引号git-credential-osxkeychain,如果有效,那么你有一个别名,它正在调用别的东西而不是返回。看看你的〜/ .profile,寻找类似的东西:

"git" init - 最有可能的是你。

您可以删除要修复的别名。

答案 1 :(得分: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酒窖(它存储应用程序)非常容易安装/卸载,这是更好的前端,不会因为你可以酿造不好而损坏你的系统卸载,您可以在下面找到链接

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

答案 2 :(得分:0)

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

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