Git错误:无法提交配置文件

时间:2013-09-12 10:05:01

标签: macos git

我正在尝试向现有项目添加一个新的远程存储库(GitHub),我收到的错误是我以前从未见过的,并且不明白:

$ git remote add github git@github.com:me/myrepo.git   
error: could not commit config file .git/config

什么?为什么我要提交git配置文件?我该如何解决这个问题呢?

我在Mac上,安装了大部分工具。我想这是我第一次尝试在这台机器上添加一个遥控器。

2 个答案:

答案 0 :(得分:5)

某些git命令会修改git配置文件。其中一个是git remote add,因为遥控器存储在配置文件中。

为避免同时修改配置文件的几个git进程出现问题,git会在更改之前锁定配置文件(通过写入锁定文件),然后释放锁定(通过将锁定文件重命名为配置文件)。

错误消息

error: could not commit config file .git/config

表示git无法正确释放此锁。这可能意味着另一个进程正在处理同一个文件,或者存在某种文件系统错误(或者git或您的OS /库中存在错误)。

不幸的是,git没有告诉你究竟是什么问题,所以你必须手动调试它。您可以尝试使用dtruss运行git,看看到底出了什么问题。

答案 1 :(得分:0)

这可能是权限问题,尤其是对于在Windows上运行的自动作业,其权限少于同一用户的交互式登录。来自this answer on ServerFault

  

每个登录会话到Windows(基于NT的版本,即)机器   有一个"安全令牌" - 一个描述其中的数据结构   其他事情,用户由令牌代表的组是a   成员。

     

"互动"身份不是您可以手动放置的组   成员进入,而是由操作系统添加,   为具有的用户构建安全令牌时自动执行   通过Windows图形用户界面登录。这类似于   "网络"身份,自动添加到创建的令牌   适用于通过网络访问本机的用户。

     

这些自动生成的组成员资格允许您构建   根据方式允许或拒绝访问资源的权限   用户正在访问该计算机。这是对许可的补充   系统根据谁来仲裁访问的默认行为   访问资源。