Push master to origin/master was rejected by remote

问题描述:
通过
git init
git add ./*
git commit -m “message”
创建仓库,并将现有工程提交到git版本库后,
检出的代码修改后无法push到git仓库。
build 提示: Push master to origin/master was rejected by remote
remote: error: refusing to update checked out branch: refs/heads/master

  • 这是由于git默认拒绝了push操作,需要进行设置,修改.git/config文件后面添加如下代码:
    [receive]
    denyCurrentBranch = ignore

  • 在初始化远程仓库时最好使用
    git --bare init
    而不要使用:git init
    git init 和git --bare init 的具体区别:http://blog.haohtml.com/archives/12265

================================================

如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容。

解决方法:
必须得使用命令 git reset --hard 才能看到push后的内容.

研究了很久不得其解,然后找到一条命令凑合着能用了:

登录到远程的那个文件夹,使用
git config --bool core.bare true

本文参考https://blog.csdn.net/f22sword/article/details/44855029

你可能感兴趣的:(git)