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

时间:2023-03-09 18:10:48
记录一次失败的向git提交代码,和解决的方法。(首次创建仓库)

背景:

向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有冲突

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

这个配置导致,在创建仓库的时候就自动创建了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
 或者
  git push –u origin  –f

前人种树:

https://blog.csdn.net/mangoyiy/article/details/75271758

https://www.jianshu.com/p/b03bb5f75250