1.若现在本地有一个已经和github远程仓库关联好的本地仓库,平时都会将本地仓库push到github上。
2.有一天突然发现"码云"这个远程仓库网站,咦!这个还可以创建private仓库,挺不错的。
3.那我就有想法了= =,我想要把我现在在做的这个项目不仅push到github上(因为之前这个项目已经push过很多次了,半途而废不太好),而且也要push到码云上(毕竟可以创建私人仓库,安全点)。
4.那就开始动手吧。
5.首先将本地仓库(已经关联过github远程仓库)再次关联远程仓库(码云的远程仓库)。
$ git remote add MYorigin git@gitee.com:luyuefeng/lr-manager.git
6.关联好了就想要push了。
$ git push MYorigin master To gitee.com:luyuefeng/lr-manager.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@gitee.com:luyuefeng/lr-manager.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details.
7.嗯,啥子呦。咋还报错了啊。(push其它分支时不会出错,push主分支master的时候会报错)。
8.开始百度。。。。。。(a long time later)。
9.终于找到原因了,问题原因:是由于在码云上新建仓库准备来关联本地仓库的时候,使用了README.md文件来初始化。而此时如果直接在本地git push的话,由于本地并没有与码云相关的README文件,所以此次push就会被拒绝;
10.网上找到的解决方法:(1)先执行 $ git pull --rebase origin master
将README文件pull到本地,然后执行push;(2)要么就是新建github仓库的时候不要选择使用README来初始化;
11.我采用的是第二种方法来解决问题,由于时间有限并没有尝试第一种方法,还有就是我不是很确定github的README.md和码云的README.md文件会不会冲突。