文章目录
1. fatal: This operation must be run in a work tree
由于git init –bare 方法创建一个裸仓库,在该仓库无法进行任何git操作,所以抛出错误.
解决方法:在该仓库目录下,新建文件夹,进入该文件夹,执行如下命令:
1. touch Readme
2. git init
3. git add Readme
4. git commit -m 'initial commit' Readme
2.执行git push后,服务器端无法查看到推送内容的原因及解决方法
在初始化远程仓库时最好使用:git --bare init,而不要使用:git init
如果使用了git init初始化,则远程仓库的目录下也包含work tree。当本地仓库向远程仓库push时,如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上,也即在远程仓库的目录下对应的文件还是之前的内容。
解决方法:
远程端必须运行命令:git reset --hard才能看到push后的内容。
个人经验:最好在clone之后,自己新建一个分支,例如first,git push origin first:first ,代表将本地的first分支推送到远程的代码库的first分支,如果远程没有这个分支,则自动创建一个。push后在服务器断再回到住分支合并first分支。
3.在使用Git Push代码到数据仓库时,提示如下错误:[remote rejected] master -> master (branch is currently checked out)
这是由于git默认拒绝了push操作,需要进行设置,修改.git/config文件后面添加如下代码:
[receive]
denyCurrentBranch = ignore