安装xcode后git push.default设置

时间:2012-12-11 18:23:17

标签: xcode macos git

我不确定这是由我的xcode安装造成的,但这是git停止工作之前我的计算机上发生的唯一重大变化。我还在github上发现了一些建议这可能是问题的信息。无论如何,每当我尝试拉,克隆或推动时,我都会收到这样的信息:

error: Malformed value for push.default: simple
error: Must be one of nothing, matching, tracking or current.
fatal: bad config file line 3 in /Users/mbc/.gitconfig

如果我运行git --version,我会得到这个:git版本1.7.10.2(Apple Git-33)

我尝试安装最新版本,但即使安装程序声称成功,git --version也没有改变。

所以也许git安装在两个不同的地方? which git给了我/usr/bin/git,但我不确定git应该在哪里,所以这还不是特别有用。

有什么想法吗?

4 个答案:

答案 0 :(得分:4)

这种行为确实可以通过安装Xcode来解释。事实上,我通过升级到Mavericks的行为非常相似,因为这显然会重新安装或更新Xcode。

发生了什么:您安装了一个完全正常运行的git版本,您已将其配置为simple用于其push.default。 Xcode被安装(或更新),并带来另一个过时的git版本,它还不知道simple的选项push.default。在命令行上键入git时,会在PATH中搜索要执行的二进制文件。在你最近的git版本之前,首先在你的路径上找到Xcode-git。再次安装git没有帮助,因为它仍然安装在同一个位置,并且该位置在Xcode git之后的路径上。

正如silent1mezzo所建议的,一种可能的解决方案是在终端中执行此操作:

sudo rm -rf /usr/bin/git
sudo ln -s /usr/local/git/bin/git /usr/bin/git

但是,如果您随后升级Xcode并再次重新安装自己的git,它将覆盖我们刚刚创建的链接。这可能是导致我升级到小牛队时失败的原因。

另一个选择是将/ usr / local / git / bin放在 / usr / bin之前的路径中。您可以通过在.bash_profile:

中添加这样的行来完成此操作
export PATH=/usr/local/git/bin:$PATH

(如果你还没有.bash_profile文件,只需在你的主目录中创建它)

这将导致更新版本的git成为搜索路径时首先找到的版本。一个细节:当您将该行放入.bash_profile时已经打开的终端将不会立即获得新行为 - 您可以运行source ~/.bash_profile以使其获得新行为,或者只是关闭它们并再次启动它们

答案 1 :(得分:1)

我会查看 /Users/mbc/.gitconfig 第3行,看看实际上有什么价值。

[编辑...]

如果您正在尝试跟踪GitHub上的内容,我会尝试将值更改为“跟踪”#39;并查看是否可以解决您的问题。错误消息将指示' simple'的当前值。是完全错误的。

答案 2 :(得分:0)

default = simple是在git 1.7.11中引入的,所以你的git版本无法识别它:

http://comments.gmane.org/gmane.comp.version-control.git/200276

为您提供的一些选择:

  • 安装一个更新版本的git(我喜欢自制软件来处理这些东西,而且它目前有git 1.8.1.1可用,但请选择让你感觉舒服的东西)。
  • 使用备用配置,如错误消息所示。 (请参阅以上链接了解一些选项 - 我不知道哪种值最适合您的情况。)
  • 如果您已经安装了另一个版本的git,但它没有显示,请确保/ usr / local / bin位于路径中的/ usr / bin前面。

第三个选项为我解决了这个问题。我的编辑器没有配置为尊重我的用户的自定义路径,因此它默认为Apple安装的git而不是自制软件包。

答案 3 :(得分:-1)

我通过在终端中输入以下两行来解决这个问题

sudo rm -rf /usr/bin/git
sudo ln -s /usr/local/git/bin/git /usr/bin/git

基本上XCode命令行工具将它的git版本安装到/ usr / bin / git,当我从他们的网站安装Git时,它将它安装到/usr/local/git

通过删除第一个版本和sym链接下载的版本,一切正常。