有的时候在本地创建仓库并且连接了github的远程库后,在提交代码之后会出现更新被拒绝的错误
导致出现这个的原因是因为本地仓库没有更新远程仓库中的内容。所以我们需要用git pull origin master指令将远程代码库与本地代码库同步一下,但是可能会出现“fatal:拒绝合并无关历史。”的错误
这时需要用git pull origin master --allow-unrelated-histories指令,会出现一些窗口,(没有截图)按照下文解决问题
在MAC下的解决方法,亲测可用:
Please enter a commit message to explain why this merge is necessary,especially if it merges an updated upstream into a topic branch
没有图确实有些抽象,我也只能凭借回忆了:
在出现需要你输入新的merge信息的终端窗口,在最上面的提示句下有一行空格,按照链接的帮助,按”i”进入输入模式,随便输入个什么,然后 esc,直接输入”:wq”你会发现这个出现在终端的最下面,这是OK的,最后 enter,就OK了。
在Ubuntu下的解决方法:
网上会有很多关于原理的解释,,我这边的具体操作: ubuntu下不需要键入 i 就可以直接输入merge信息,你可以参照Mac我说的步骤,输入merge信息后直接ctrl+x,然后终端会问你是否保存最新缓冲区,选择保存,然后还会有一个次问你把最新的merge信息保存到那个文件,我没有创建新的文件,直接Enter,就OK,然后你就会看到一堆 正常 merge 的信息。
按照步骤操作之后就可以正常push了。