报错操作复原
- 先本地写代码
- git init 初始化本地仓库
- git remote add origin xxx 关联远程仓库
- git add .
- git commit -m "xxx"
- git pull (可能你这步都没有)
- git push -u origin master
- 报错: ! [rejected] master
报错原因
因为远程仓库代码和本地代码有差异:如 readme.md 文件
解决
方法1: 直接删除 .git 文件,然后按下面流程走
- git init 初始化本地仓库
- git remote add origin xxx 关联远程仓库
- git pull origin master --allow-unrelated-histories (消除远程和本地代码差异)
- git add .
- git commit -m "xxx"
- git push -u origin master
- 成功
方法2: 接着报错后面走,执行下面代码
- git pull origin master --allow-unrelated-histories (消除远程和本地代码差异)
- 重新add和commit相应文件
- git push -u origin master
- 成功
总结
- 方法1解决是最简单,最稳的;
- 方法2可能因为你之前多余的操作导致中间还有报错,需要你自行解决;
- 在执行
git pull origin master --allow-unrelated-histories时,可能会有冲突,如你本地有了readme.md,远程也有时,你需要把本地的代码复制一份出去类似的操作,然后把本地和远程重复的文件干掉(删除本地文件),这个错误终端会提示出来.删除重复文件后再重新执行git pull origin master --allow-unrelated-histories就没问题了,再git status下,看看仓库是否有需要提交的,有就add+commit,没有就直接git push -u origin master