记录一次失败的向git提交代码,和解决的方法。(首次创建仓库)

版权声明:本文为作者原创,转载请注明出处,联系qq:32248827 https://blog.csdn.net/dataiyangu/article/details/84988559

背景:

向git push代码(创建一个新的仓库)

做法:

在github创建一个新的仓库------>本地新建文件夹------->依次执行了下面的命令

git init
git clone 
git checkout -b master 

放到文件夹中代码

git add .
git commit -m ""
git pull origin master:master(冒号两遍不能有空格)
git push 

看似没有问题。
但是push会报错:

fatal: refusing to merge unrelated histories

那么运行下面命令:

$ git pull origin master --allow-unrelated-histories 
结果:
    From github.com:mangoyi/vue-elme
    * branch            master     -> FETCH_HEAD
    Auto-merging README.md
    CONFLICT (add/add): Merge conflict in README.md
    Automatic merge failed; fix conflicts and then commit the result.

看着像是readme.me有冲突
在这里插入图片描述
这个配置导致,在创建仓库的时候就自动创建了readme
可以解决冲突,也可以往下看。
tip:

$ git push origin

上面命令表示,将当前分支推送到origin主机的对应分支。 如果当前分支只有一个追踪分支,那么主机名都可以省略。

$ git push -u origin master

如果当前分支与多个主机存在追踪关系,那么这个时候-u选项会指定一个默认主机,这样后面就可以不加任何参数使用git push。
$ git push -u origin master
上面命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。

不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。

git push -f(不是自己一个人用的仓库别这么玩。)

push --force缩写
将本地的代码推送到远端,并覆盖。

所以可以强制推送并覆盖

 git pull –f –all  
 git push –u origin master –f

前人种树:
https://blog.csdn.net/mangoyiy/article/details/75271758
https://www.jianshu.com/p/b03bb5f75250

扫描二维码关注公众号,回复: 4538866 查看本文章

猜你喜欢

转载自blog.csdn.net/dataiyangu/article/details/84988559