git push 的時候出錯branch is currently checked out

1.問題描述:

在本地服務器搭建了git 之後,在客戶端主機使用git push 出現如下錯誤:

jyq@jyq:~/work/Git/Robot$ git push origin master 
對象計數中: 5, 完成.
Delta compression using up to 4 threads.
壓縮對象中: 100% (5/5), 完成.
寫入對象中: 100% (5/5), 669 bytes | 0 bytes/s, 完成.
Total 5 (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'.
To [email protected]:/home/git/Code/Robot
 ! [remote rejected] master -> master (branch is currently checked out)
error: 無法推送一些引用到 '[email protected]:/home/git/Code/Robot'

2.解決辦法:

這是由於git默認拒絕了push操作,在遠程服務器主機執行如下命令:

git config receive.denyCurrentBranch ignore 

或者在.git/config中添加如下代碼:

[receive]
    denyCurrentBranch = ignore

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章