报错(! [rejected] master -> master (fetch first))解决方法

问题描述

  1. 首先我在本次仓库准备好了我的代码,然后在gitlab新建了一个空白的代码仓
  2. 然后我需要将本地的master分支合并到新建仓库的master分支
  3. 当我输入git push --set-upstream origin master出现如下报错

 解决方法 git pull --rebase origin master

作用
1.拉取远程分支的最新更改
  • git pull的作用是从远程仓库拉取最新的更改并合并到本地分支
  • 默认情况下,git pull会执行git fetch 和git merge,即将远程分支的更改合并到本地分支
2.通过变基(rebase)整合更改
  • 当加上--rebase选项时,git pull会改为使用git rebase而不是git merge来整合远程分支的更改
  • 变基操作会将本地分支的提交重新应用到远程分支的最新提交之上,从而保持提交历史的线性结构,避免合并提交(merge commit)的产生
工作原理

假设你有一个本地分支master,并且远程仓库的master分支有新的提交,以下是git pull --rebase origin master的具体步骤

1.执行 git fetch origin master
  • 首先,Git会从远程仓库origin拉取master分支的最新更改,但不会立即合并到本地分支
  • 这一步会更新本地的远程分支引用 origin/master
2.执行 git rebase origin/master
  • git会将本地master分支的提交重新应用到origin/master的最新提交之上
  • 这个过程会重新排列本地分支的提交顺序,使它们出现在远程分支的最新提交之后
git fetch

主要作用是从远程仓库获取最新的分支和提交信息,但不会自动合并这些更改到本地分支。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值