Windows下搭建Git服务器各种问题汇总(一)

************************************************************************************************************

在使用Git Push代码到数据仓库时,提示如下错误:

...[remote rejected] master -> master (branch is currently checked out)...

错误原因以及解决

这是由于服务器git默认拒绝了push操作,需要修改服务器的tortoisegit配置文件;设置系统TortoiseGit配置(配置修改划分三级,仓库级、用户级、系统级)

方法一.

  1. 打开路径:C:\ProgramData\Git
  2. 打开配置文件config,在末尾加上:

[receive]
 denyCurrentBranch = ignore

方法二.

  1. 打开tortoisegit设置
  2. 右侧菜单找到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上,  也即在远程仓库的目录下对应的文件还是之前的内容。

************************************************************************************************************

posted @ 2015-12-15 23:42  jeffery1010  Views(405)  Comments(0Edit  收藏  举报