“并非所有引用都被推送”SmartGIt出错

时间:2013-05-06 07:39:59

标签: git smartgit

作为一个完整的Noob,我根本无法使用SmartGit。 Git术语太混乱了。

这是我做的, 我创建了两个存储库,Repo1和Repo2 在SmartGit中

  1. 初始化Repo1为GIT
  2. 克隆Repo1至Repo2
  3. 在Repo1中添加了一个文本文件并添加了一些文本。
  4. 拉回Repo2
  5. 在文本文件中进行了少量更改
  6. 所犯
  7. 现在,当我尝试将这些更改推送到Repo1时,我得到了 “并非所有裁判都被推”错误“
  8. 更新

    Push: Not all refs have been pushed.
        'master' rejected (non-fast-forward)
        Counting objects: 10, done.
        Delta compression using up to 2 threads.
        Compressing objects:  20% (1/5)   
        Compressing objects:  40% (2/5)   
        Compressing objects:  60% (3/5)   
        Compressing objects:  80% (4/5)   
        Compressing objects: 100% (5/5)   
        Compressing objects: 100% (5/5), done.
        Writing objects:  12% (1/8)   
        Writing objects:  25% (2/8)   
        Writing objects:  37% (3/8)   
        Writing objects:  50% (4/8)   
        Writing objects:  62% (5/8)   
        Writing objects:  75% (6/8)   
        Writing objects:  87% (7/8)   
        Writing objects: 100% (8/8)   
        Writing objects: 100% (8/8), 726 bytes, done.
        Total 8 (delta 0), 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 inconsistent
        remote: error: with what you pushed, and will require 'git reset --hard' to match
        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'.
        error: failed to push some refs to '/home/sdr1/Desktop/LocalRepository'
    

1 个答案:

答案 0 :(得分:3)

请阅读错误消息部分:

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 inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.

Git阻止推入非裸存储库(此处为Repo1)的分支,因为这会使工作树,索引和HEAD不一致或非常容易出错。

<强>解决方案: 将原始存储库(Repo1)切换到另一个分支,然后再次尝试从克隆(Repo2)推送。