! [远程拒绝]主人 - > master(分支当前已签出)git中出错

时间:2014-01-14 11:54:23

标签: git version-control github ssh

对于GIT来说,我是新手。在这里,我试图解释我的错误情况。请帮我准确的命令。

我必须在GIT远程位置清空存储库。我只有权克隆它们并将我的更改推送给它们。我没有任何权限直接访问GIT Remote。 回购是。 funder-sceduler.git和funder-request.git。 详细路径:

  1. SSH://gitadmin@svn.wps.wiley.com/apps/git/web-platform/dotcms/modules/funder-request.git
  2. SSH://gitadmin@svn.wps.wiley.com/apps/git/web-platform/dotcms/modules/funder-scheduler.git
  3. 现在我在当地克隆了funder-scheduler.git。我添加了我的更改。然后我做了一个GIT提交。 然后git push origin master。 它运作良好。

    但是当我为funder-request.git做同样的事情时,运行命令'git push origin master'之后会抛出以下错误:

    >$ git push origin master
    >Enter passphrase for key '/u/.ssh/id_rsa':
    >Counting objects: 81, done.
    >Compressing objects: 100% (61/61), done.
    >Writing objects: 100% (81/81), 215.86 KiB | 126.00 KiB/s, done.
    >Total 81 (delta 4), reused 0 (delta 0)
    >remote: error: refusing to update checked out branch: refs/heads/master
    >remote: error: By default, updating the current branch in a non-bare repository
    >remote: error: is denied, because it will make the index and work tree inconsist
    ent
    >remote: error: with what you pushed, and will require 'git reset --hard' to matc
    h
    >remote: error: the work tree to HEAD.
    >remote: error:
    >remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
    
    >remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
    
    >remote: error: its current branch; however, this is not recommended unless you
    >remote: error: arranged to update its work tree to match what you pushed in some
    
    >remote: error: other way.
    >remote: error:
    >remote: error: To squelch this message and still keep the default behaviour, set
    
    >remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
    To ssh://gitadmin@svn.wps.wiley.com/apps/git/web-platform/dotcms/modules/funder-
    request.git
     ! [remote rejected] master -> master (branch is currently checked out)
    error: failed to push some refs to 'ssh://gitadmin@svn.wps.wiley.com/apps/git/we
    b-platform/dotcms/modules/funder-request.git'
    

    请求帮我解决此问题的确切命令。 我不会理解理论解释,我很抱歉

1 个答案:

答案 0 :(得分:4)

看起来funder-request.git不是一个简单的回购,意味着它有一个工作树(来自结构分区的文件)。

有关详情,请参阅“all about "bare" repos -- what, why, and how to fix a non-bare push”:
使用非裸仓库会带来使工作树的内容与git仓库本身的内容不同步的风险。

您需要联系该服务器的管理员并将其转换为裸仓库 请参阅“How to convert a git repository from normal to bare ?”。