最近在用Git上传本地代码至远程仓库的时候,突然发现上传错误,提示信息为:
updates were rejected because the contains work that you do.结果一头雾水,上网查了好多说缺少README.md文件,花了很大功夫解决了还是不行。其实原因很简单,是本地的.git 文件被修改了,和远程仓库不匹配所以自然传不上去。与缺少README.md文件没有多大关联。
解决方法:
重新将远程仓库clone到本地文件夹,这样该文件夹中就会有相应的.git文件,这样在该文件夹中上传即可。另外附上清空仓库的指令留作备忘。
git rm * -r
另外谈一句,git commit指令并非仅仅添加一个添加备注的指令,git在本地是有三部分组成的,一个是自己的文件(worksplace),一个是暂存区(staging),一个是本地仓库(local repository)。当执行git add XXX 指令后,文件会被保存到暂存区,但本地仓库不会保存,只有执行git commit 指令才会保存至本地仓库,至于添加备注,只是后面接上-m后的操作,不加也会附带上默认备注。最后附上一张图帮助理解。