(Git)在本地创建新仓库并传给Github时,git push -u origin master报错的解决方案

当在本地init一个新仓库时,想要与Github的仓库连接,首先一定是这三件套命令:

 

git remote add origin https://github.com/(Github用户名)/(仓库名).git
git branch -M main
git push -u origin main

 

特别值得提出的是,由于master名称涉嫌种族歧视原因,Github已经废弃master名称,改为main,所以命令第二行作用为将master名称改为main。

 

但是当我们执行第三条命令的时候,即`git push -u origin main`,有时会出现一些蜜汁bug,比如:

 

Updates were rejected because the tip of your current branch is behind its remote counterpart. Integrate the remote changes (e.g. 'git pull ...') before pushing again.See the 'Note about fast-forwards' in 'git push --help' for details.

 

经查询,这应该是本地的仓库版本和Github的仓库版本不一致导致的,在解决这个问题之前,需要保证已经做到以下几点:

1.在本地创建新仓库时,要先在本地commit一个版本,才能git push到Github

2. 要把本地的公钥复制到Github的账户上,否则将不能git push和git pull

3. 当Github仓库为非空时,第一次不能直接push上去,应该先git pull,把Github仓库的内容复制到本地,再把所有文件一起git push上去

 

若已做到以上三点还是报错(我第一次也是这样,则说明应该就是本地的仓库版本和Github的仓库版本不一致的原因。

应先pull远程仓库,再push即可

 

 

输入`git pull origin main --allow-unrelated-histories` (该选项可以合并两个独立启动仓库的历史)

之后应该进入了某个文件,直接退出即可,再输入`git push -u origin main`

 

 

此时应该已经解决了你的问题,已经将本地仓库与Github仓库连接,之后便可自由尽兴的push和pull

 

若你此时还未解决问题,我也爱莫能助,因为我到了这一步已经解决了问题,你可以按照错误提示继续搜索,以寻找答案,祝好运

 

posted @ 2022-02-04 19:16  riz9  阅读(756)  评论(0编辑  收藏  举报