首页 > 其他分享 >[GIT]解决:failed to push some refs to ...(过程重现)

[GIT]解决:failed to push some refs to ...(过程重现)

时间:2023-07-13 18:22:38浏览次数:45  
标签:... GIT hint 仓库 refs bigdata git push 代码

本问题有很多种情况,解决方法也很多,本文只针对笔者本人的自身诉求和情况,选择了一种适合我的解决方法。仅供参考。

1 问题描述

johnnyzen@XXDSSS MINGW64 /e/source_code/BigData/bdp_common_data_service (develop)
$ git push
To gitlab-bigdata.johnnyzen.cn:platform-software/bigdata/bdp_common_data_service.git
 ! [rejected]        develop -> develop (non-fast-forward)
error: failed to push some refs to 'gitlab-bigdata.johnnyzen.cn:platform-software/bigdata/bdp_common_data_service.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.

2 问题分析

笔者即小伙伴B

  • Step0 小伙伴A、B:同步【远程仓库】的代码至【本地仓库】
git pull
  • Step1.1 小伙伴A:修改【本地】的代码,并提交至【本地仓库】,再推送至【远程仓库】
修改本地代码
git add *

git pull

git commit -m "xxxx"

git push
  • Step1.2 小伙伴B:修改【本地】的代码,并提交至【本地仓库】,但未推送至【远程仓库】
修改本地代码

git add *

git commit -m "xxxxx"
  • Step2 小伙伴B:再次修改/新增/删除了【本地】的代码,并尝试推送先前提交的【本地仓库】代码至【远程仓库】
再次修改/新增/删除了【本地】的代码

git push
(此时,出现了本错误)
To gitlab-bigdata.johnnyzen.cn:platform-software/bigdata/bdp_common_data_service.git
 ! [rejected]        develop -> develop (non-fast-forward)
error: failed to push some refs to 'gitlab-bigdata.johnnyzen.cn:platform-software/bigdata/bdp_common_data_service.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.

3 解决方法

此问题有很多解决方法,答主仅提供了一种我个人的解决方式

3.1 解决方法

  • Step3 检查哪些代码是Step2过程中修改的代码

那么这个时候,小伙伴B可以先git pull尝试同步一下远程仓库的代码,以检测是哪些文件出现了冲突。

git pull

  • Step4 将上述变更文件拷贝到源码工程外,并使得Step2过程无任何变更

  • Step5 同步远程仓库的代码,并在本地解决可能出现的冲突

git pull

[并解决可能出现的冲突]

  • Step6 推送代码至【远程仓库】
git push

  • Step7 还原Step4中备份的变更代码至源码工程内

3.2 其他解决思路

  • 解决思路2

备份小伙伴B的2次变更文件,重置本地仓库的代码至Step0的状态,然后还原先前备份的变更文件后,再重新提交、推送至远程仓库

  • ...

X 参考文献

标签:...,GIT,hint,仓库,refs,bigdata,git,push,代码
From: https://www.cnblogs.com/johnnyzen/p/17551756.html

相关文章

  • 这还不冲?Github上的大佬总结的2023经典大厂面试题,全会拿35k
    前言2023的上半年已经结束了,但是我发现有很多朋友没能拿到自己心仪的offer,其实并不是自身能力差,而且没有充足的准备面试。耗时一个月,收集了全网最热门的大厂面试题,我们程序员与别的行业不一样,除了上学的时候要做题,我们上班了找工作还得做题!我分享的结合目前互联网公司常见的面试考......
  • git-download-MR
    1.查看MR使用gitls-remote查看提交MR(merge-requests)gitls-remote|grep"refs/merge-requests"|head-n10Fromgitlab.xxx:xxx/build.git79c4f50d45d7cc7df48e1551ab8d42abc8b7e6f0refs/merge-requests/10002543/headb9075545816b5d4d4e55698ac341f9......
  • gitlab与LDAP 联调
    gitlab整理目录gitlab整理1.安装Gitlab依赖包2.下载,安装3.配置,访问域名及邮箱4.初始化,启动5.访问,以及邮箱测试5.1汉化6.问题总结处理6.1安装时出现7.ssl8.升级9.备份补充10.git创建公钥与基础配置11.gitlab镜像仓库配置文件1.安装Gitlab依赖包#系统要求Ubuntu(16.04/18.0......
  • 清理.git文件夹过大出现臃肿问题-filter-branch和BFG工具
    Git开发手册git一些不常用的命令记不住,可以查看git开发手册(https://m.php.cn/manual/view/34957.html)1、.git/objects/pack文件过大今天从git拉取项目进行开发的时候克隆的很慢,还以为是网速的问题。查看了一些git命令框的拉取网络速度发现网速也很快,克隆下来后才发现是.git文......
  • 处理.git文件夹过大出现臃肿问题-filter-branch和BFG工具
    Git开发手册git一些不常用的命令记不住,可以查看git开发手册(https://m.php.cn/manual/view/34957.html)1、.git/objects/pack文件过大今天从git拉取项目进行开发的时候克隆的很慢,还以为是网速的问题。查看了一些git命令框的拉取网络速度发现网速也很快,克隆下来后才发现是.git文......
  • git-diff
    1.diff说明用于比较两次修改的差异1-1.参数参数描述–cached显示暂存区(已add但未commit文件)和最后一次commit(HEAD)之间差异。–staged同--cached。–stat查看简单的diff比较结果。1-2.改动范围说明@@-l,s+l,s@@:其中l是起始行号,s是......
  • git-tag
    1.tag简介1-1.说明tag就是对某次commit的一个标识,相当于起了一个别名创建的标签会在.git/refs/tags下1-1-1.查看tags目录ls.git/refs/tagsv1.0.0v2.0.01-1-2.查看tags下的标签文件cat.git/refs/tags/v1.0.0f3d2540bdaf36e6b0092ccd0d3aa908c19f2f7081-2.ta......
  • git-worktree
    1.说明git-worktreegitworktree非常适合大型项目又需要维护多个分支,想要避免来回切换的情况优点gitworktree可以快速进行并行开发,同一个项目多个分支同时并行演进gitworktree的提交可以在同一个项目中共享gitworktree和单独clone项目相比,节省了硬盘空间,......
  • Git 基础入门
    Git基础入门一、安装与配置1.下载安装https://git-scm.com/download/ 2.使用入口win:右键菜单—gitbashmac:终端窗口 3.基础配置a.首次使用添加身份说明,使用以下两个命令:$gitconfig--globaluser.name"你的昵称"$gitconfig--globaluser.email邮箱 b.......
  • 常用gitignore
    #file.build.cmake-build-debug.idea#Prerequisites*.d#CompiledObjectfiles*.slo*.lo*.o*.obj#PrecompiledHeaders*.gch*.pch#CompiledDynamiclibraries*.so*.dylib*.dll#Fortranmodulefiles*.mod*.smod#CompiledStaticlibraries*.lai*.la*.a*.lib#......