Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误:致命:不是git存储库:'';当我使用gitolite Hooks post receive自动部署代码时_Git_Ubuntu_Hook_Autodeploy - Fatal编程技术网

错误:致命:不是git存储库:'';当我使用gitolite Hooks post receive自动部署代码时

错误:致命:不是git存储库:'';当我使用gitolite Hooks post receive自动部署代码时,git,ubuntu,hook,autodeploy,Git,Ubuntu,Hook,Autodeploy,我的英语不是很好。请容忍我 我在stackoverflow和google上搜索过这个问题,但也不能解决这个问题 我只想通过git钩子构建一个自动部署环境,但它不起作用 我使用Ubuntu12.04服务器作为一台计算机上的服务器,我称之为PC Ser。 我在另一台计算机上使用Windows 7 PC作为客户端,我称之为PC-C 我在PC Ser上安装gitolite时使用: apt获取安装gitolite 亚基硅质岩 adduser--禁用的密码--home/home/gitolite--ingr

我的英语不是很好。请容忍我

我在stackoverflow和google上搜索过这个问题,但也不能解决这个问题

我只想通过git钩子构建一个自动部署环境,但它不起作用

我使用Ubuntu12.04服务器作为一台计算机上的服务器,我称之为PC Ser。 我在另一台计算机上使用Windows 7 PC作为客户端,我称之为PC-C

我在PC Ser上安装gitolite时使用:

  • apt获取安装gitolite
  • 亚基硅质岩
  • adduser--禁用的密码--home/home/gitolite--ingroup gitolite gitolite
  • 苏云闪长岩
  • 总账设置/tmp/user.pub
  • 然后我

    "git clone gitolite@PC-Ser:gitolite-admin"
    
    在PC-C上

    我通过编辑gitolite.conf文件创建了一个名为autoDeploy的repo,并推送它。这是gitolite.conf

    repo    gitolite-admin
            RW+ = admin
    
    repo    autoDeploy
            RW+ = @all
    
    cd /var/www
    git clone /home/gitolite/repositories/autoDeploy.git
    
    #!/bin/bash
    cd /var/www/autoDeploy
    pwd >> /log/pwd.log
    git push /home/gitolite/autoDeploy>> /log/push.log 2>&1
    echo "finish" >> /log/finish.log
    whoami >> /log/user.log
    
    之后,我在PC服务器上做了一些事情:

    repo    gitolite-admin
            RW+ = admin
    
    repo    autoDeploy
            RW+ = @all
    
    cd /var/www
    git clone /home/gitolite/repositories/autoDeploy.git
    
    #!/bin/bash
    cd /var/www/autoDeploy
    pwd >> /log/pwd.log
    git push /home/gitolite/autoDeploy>> /log/push.log 2>&1
    echo "finish" >> /log/finish.log
    whoami >> /log/user.log
    
    然后我编辑/home/gitolite/repositories/autoDeploy.git/hooks/post-receive

    repo    gitolite-admin
            RW+ = admin
    
    repo    autoDeploy
            RW+ = @all
    
    cd /var/www
    git clone /home/gitolite/repositories/autoDeploy.git
    
    #!/bin/bash
    cd /var/www/autoDeploy
    pwd >> /log/pwd.log
    git push /home/gitolite/autoDeploy>> /log/push.log 2>&1
    echo "finish" >> /log/finish.log
    whoami >> /log/user.log
    
    然后,我在PC-C上创建了一个test.txt.autoDeploy并推送它

    但是/var/www/autoDeploy没有拉入。它不工作

    在PC服务器的日志中有以下内容:

    /log/pwd.log:

    /var/www/autoDeploy
    
    /log/push.log:

    fatal: Not a git repository: '.'
    
    /log/finish.log:

    finish
    
    /log/user.log:

    gitolite
    
    我尝试通过root运行/home/gitolite/repositories/autoDeploy.git/hooks/post-receive,成功了,/var/www/autoDeploy已经拉了

    然后我“su-gitolite”并运行/home/gitolite/repositories/autoDeploy.git/hooks/post-receive,这也是成功的。没有错误。/var/www/autoDeploy已经成功了

    请帮帮我。非常感谢

    看看: