git push 一个分支到服务器上错误的解决方法

在将一个分支push到git服务器上是提示下面的错误

Use of uninitialized value in do "file" at /usr/share/gitolite/gl-auth-command line 40.
Null filename used at /usr/share/gitolite/gl-auth-command line 40.
fatal: The remote end hung up unexpectedly
我们可以先看一下gl-auth-command文件的第40行是什么东东。

打开这个我文件我们可以看到40行是“die "parse $ENV{GL_RC} failed: "       . ($! or $@) unless do $ENV{GL_RC};”这行代码,

在这行代码中有一个变量GL_RC,这个变量是.gitolite.rc文件的路径,在这行出现错误,那么就很有可能是这个变量的值不对,

也就是根据这个变量无法找到.gitolite.rc这个文件。这个变量的赋值在gitolite.pm这个文件里,看一下是不是在赋值时有错误。

下面是正确的代码:

for my $glrc ( $ENV{HOME} . "/.gitolite.rc", "/etc/gitolite/gitolite.rc" ) {
    if (-f $glrc) {
          $ENV{GL_RC} = $glrc;
           return;
        }

}

你可能感兴趣的:(git)