************************************************************************************************************
在使用Git Push代码到数据仓库时,提示如下错误:
...[remote rejected] master -> master (branch is currently checked out)...
错误原因以及解决
这是由于服务器git默认拒绝了push操作,需要修改服务器的tortoisegit配置文件;设置系统TortoiseGit配置(配置修改划分三级,仓库级、用户级、系统级)
方法一.
- 打开路径:C:\ProgramData\Git
- 打开配置文件config,在末尾加上:
[receive]
denyCurrentBranch = ignore
方法二.
- 打开tortoisegit设置
- 右侧菜单找到Git,左侧画面找到按钮‘编辑系统gitconfig’,打开配置文件,在末尾加上
[receive]
denyCurrentBranch = ignore
但问题还没完,我们发现客户端成功提交后,服务器端无法查看push上来的文件
解决方法:
打开git bash,执行命令 git reset --hard 这样才能看到push后的内容
总结:
在初始化远程仓库时最好使用 git --bare init 而不要使用:git init
如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容。
************************************************************************************************************