- 每次建立新的仓库或者fork别人仓库想要pr时,提交总会出现这样的错误,真是脑壳疼
踩坑无数后,我通过查阅Stack Overflow和youtube终于知道了原因:
远端仓库本来就有文件,你自己本地文件夹也有文件,两者相互不认识了,无法同步
方法一 git pull法
- 输入git pull把远端代码拉到本地
- 然后就可以git push origin master了
git pull
介绍
拉取(下载)指定分支代码合并到当前分支:
相当于指定分支的代码与当前分支的代码合并到了一起。
- 命令:git pull origin分支名称
注意:
-
每次使用该命令前,需要保证本地工作区是没有任何修改代码的,也就是说需要将本地工作区编辑过的文件添加到暂存区(git add .),或提交到本地仓库中(git commit),才可以使用该命令拉取指定分支的代码合并到当前分支中
-
每次在操作完git commit命令后,必须拉取一下master分支代码,保持本地正在开发功能逻辑的代码分支代码是最新的,避免后续在提交时冲突过多或覆盖掉其他人的代码的问题出现。
方法二 git clone法(强烈推荐)
- 选择任何一个你想和本地文件夹建立同步的仓库
不管是自建仓库还是fork别人的仓库 - 选择一个本地文件夹,作为与仓库同步的文件夹,并打开git bash
- git clone 被选择仓库的ssh
- 然后你会发现被克隆的文件夹已经和远端仓库建立了同步(可用git remote -v 查看)
这时你在进入clone的文件夹用git add, git commit, git push等命令就不会出现推送异常了
如果还有不懂的,可以看完整视频教程 传送门