git main branch 提交远程仓库失败
2015-11-04 17:43
393 查看
原文链接: http://cpbest.blog.163.com/blog/static/4124151920125292010825/
通常在用git clone了remote端(服务器)的git仓库后,再进行了自己一系列修改后,会将自己测试后稳定的状态push到remote端,以更新源仓库,使 其他人在pull的时候得到自己的修改。但是在git push的时候会经常出现如下的错误提示。
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: 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: To squelch this message and still keep the default behaviour, set
remote: error: ‘receive.denyCurrentBranch’ configuration variable to ‘refuse’.
根据上面所报的信息,它的意思就是默认情况下,git不允许用push操作更新non-bare的仓库,因为这样的操作会导致remote仓库的索引 (index)和工作树(work tree)与你push的不一致,此时需要通过‘git reset –hard’操作来使得工作树与HEAD索引相匹配。 可以通过在remote端,设置git的配置文件(.git/config),在其中添加如下内容:
[receive]
denyCurrentBranch = false
这样就可以通过git push提交自己的稳定更新,要想在push后在remote端看到更新的效果,执行git reset --hard即可。
通常在用git clone了remote端(服务器)的git仓库后,再进行了自己一系列修改后,会将自己测试后稳定的状态push到remote端,以更新源仓库,使 其他人在pull的时候得到自己的修改。但是在git push的时候会经常出现如下的错误提示。
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: 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: To squelch this message and still keep the default behaviour, set
remote: error: ‘receive.denyCurrentBranch’ configuration variable to ‘refuse’.
根据上面所报的信息,它的意思就是默认情况下,git不允许用push操作更新non-bare的仓库,因为这样的操作会导致remote仓库的索引 (index)和工作树(work tree)与你push的不一致,此时需要通过‘git reset –hard’操作来使得工作树与HEAD索引相匹配。 可以通过在remote端,设置git的配置文件(.git/config),在其中添加如下内容:
[receive]
denyCurrentBranch = false
这样就可以通过git push提交自己的稳定更新,要想在push后在remote端看到更新的效果,执行git reset --hard即可。
相关文章推荐
- 使用AIDL实现进程间通信
- Daily Scrumming* 2015.11.4(Day 16)
- process launch failed: Security
- 实战阿里云-实战Fail2Ban之v0.9.3
- 使用mail命令发邮件
- maven3+项目管理命令总结 (错误解决:Failed to execute goal org.apache.maven.plugins:maven-archetype-plugin:2)
- linux系统监控、诊断工具摘录top IO wait lsof
- httpclient提示Cookie rejected: violates RFC 2109: domain must start with a dot
- 人工智能研究
- Daily Scrum (2015/11/3)
- 多线程wait()和sleep()以及InterruptedException异常
- 1014. Waiting in Line (30)
- 1014. Waiting in Line (30)
- failure during conversion to COFF
- adb remount 失败:remount failed: Operation not permitted
- CONTAINING_RECORD宏的详细解释
- Adobe Air 获取启动参数
- Calling LoadLibraryEx on ISAPI filter failed
- Calling LoadLibraryEx on ISAPI filter failed
- Calling LoadLibraryEx on ISAPI filter failed