当前位置:   article > 正文

【git报错】:git push报错提示: Updates were rejected because the remote contains work that you do_rejected updates were rejected because the remote

rejected updates were rejected because the remote contains work that you do

1、问题:

第一次提交一个项目工程到远程仓库,由于是远程有着本地仓库中没有的文件,导致git push的时候报错:
(如下2、初次提交远程仓库的两种操作,这次提交的是用<2-1>的方法(没有解决冲突出现的报错))

具体操作:

it init                              //初始化仓库
git add .                  			//提交到暂存区
git commit -m “first commit”        //提交到本地库
git remote add <远程仓库名> <远程仓库地址> //添加远程仓库链接
git push -u <远程仓库名> <分支名>   //把本地仓库的文件推送到远程仓
         
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

报错现象:

在这里插入图片描述

hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

====翻译:

提示:更新被拒绝,因为远程包含您所做的工作
提示:本地没有。这通常是由另一个存储库推送引起的
提示:指向相同的引用。您可能希望首先集成远程更改
提示:(例如,'git pull…')在再次推之前。
提示:详见“git push—help”中的“关于快进的说明”。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

2、初次提交远程仓库的两种操作:

2-1 、直接在本地项目工程初始化git本地仓库,然后解决冲突,然后git push

前言:这种方式,如果是原来的项目的工程文件比较多,且懒得复制弄空白文件夹去克隆远程仓库到本地,用这种方式比较方便:

1、在项目工程根目录下右键打开git bash
在这里插入图片描述

2、git init命令去初始化一个git本地仓库,初始化完,会在根目录下自动新建一个.git
文件夹,这个就是本地库
在这里插入图片描述
3、

git add . //提交到暂存区

4、

git commit -m “xxxxx” . //提交到本地库

5、

git remote -v //查看远程仓库,这是新建的本地库,所以没有远程仓库
git remote add <远程仓库命名> <远程仓库地址> //添加远程仓库链接和远程仓库名

6、接下来是git push 步骤:
如果远程仓库为空,也就是远程仓库中不会存在着本地仓库中没有的文件,这时候直接git push
就很顺利push上去:

git push <远程仓库名> <分支名>

如果远程仓库中有着,.gitignore等文件,或者内容不同,这时候git push就会提示冲突,(其实怕的是后面push的人把前面的人push的内容覆盖掉),这时候,如果直接

git push <远程仓库名>  <分支名>
  • 1

提示报错如<1、问题:>中所示,

这时候需要解决冲突,然后在git push上去;

2-2、从远程仓库上git clone 直接克隆下来,然后拷贝代码文件,然后git push

1、 新建一个空白文件夹!
2、git clone <远程仓库地址>
3、这时候远程仓库克隆到本地,自动添加了一个本地仓库.git文件夹
4、拷贝项目工程文件到.git文件夹所在路径下
5、git add .
6、git commit -m “备注” .
7、git push <远程仓库名> <分支名>

3、解决:

问题在于,远程仓库存在着本地仓库没有的文件,或者不同的改动内容,这时候要解决冲突,然后再git push就行了:

3-1、用git pull拉取远程仓库内容到本地,然后再提交:

//直接git pull会报错
git pull <远程仓库名> <分支名>
  • 1
  • 2

在这里插入图片描述

fatal: refusing to merge unrelated histories
翻译:
致命的:拒绝合并不相关的历史

这时候就需要加一行参数再git pull后面就可以解决:
git pull <远程仓库名> <远程分支名> --allow-unrelated-histories //合并两个独立仓历史

git pull <远程仓库名> <远程分支名>  --allow-unrelated-histories 		//合并两个独立仓历史
  • 1

在这里插入图片描述
没有输入内容直接退出:
在这里插入图片描述
把远程仓库的文件.gitignore文件拉取到本地库中了:
在这里插入图片描述
再次git push提交成功了
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/805670
推荐阅读
相关标签
  

闽ICP备14008679号