1. 问题描述

今天在修改了一个代码准备提交到远程仓库的时候发现出现了冲突,但是我很明显的记得我在push的之前有先pull更新了本地的代码。查询的时候发现了如下问题:

此处可以发现,我的当前分支为develop分支,并且提示我当前分支已经是最新版本了,但是是基于master分支,而我们的developmaster分支上的代码已经有很大的区别了,这就是问题的点了。

2. 产生原因

我在pull远程仓库的代码的时候,加上了-b master·这个参数,所以我只拉取了远程仓库中的master分支,造成我现在本地的develop链接的远程仓库分支不是我想的develop分支而是master分支,即出现了上图中的问题。

3. 解决措施

根据上面的产生原因,我们来一步步的解决:

Step 1. 将本地的develop分支链接到远程的origin/develop

命令:git branch --set-upstream-to=<主机>/<分支名称>执行如下:  git branch --set-upstream-to=origin/develop

执行结果如下:

此时如果去执行git pull --rebase这个指令,那结果会让你酸爽,截图如下:


然后当你按照提示执行指令git am --show-current-patch的时候你就会发现一堆的冲突需要解决。所以这个时候就需要我们的第二步了。

Step 2. 保存修改的本地提交,然后将远程仓库的代码拉取下来强制覆盖本地的代码

为什么需要去保存我们的修改呢,原因是因为我们目前采用的这种覆盖的方法会将所有的没有保存的修改都删除掉,所以需要先保存一下修改的文件。

Ps : 如果你修改的文件是git not tracked的文件,那么可以不用暂存,在进行覆盖的时候不会影响到这些文件。

保存本地的提交有很多种方式,我自己用的有两种:

  1. 构建一个新的本地分支,将修改的部分全部commit到新的分支上去,然后再checkout回来
  2. 利用git stash指令将所有的暂存区的内容缓存记录一下,使用的时候再提取

完成了修改的暂存后,然后再checkout回需要覆盖的分支,我们这里就是develop分支。执行如下指令:

git fetch --all              // 将当前本地分支关联的远程分支最新的代码拉取下来保存,只拉取,不合并
git reset --hard origin/develop     // 将原来本地的develop分支重置为刚获取的远程develop分支
git pull                // 将fetch的代码合并,覆盖本地的代码

至此,本地的develop分支代码已经是最新的了,和远程的origin/develop分支一致。

Step 3. 将本地修改的文件恢复,重新上库

成功截图:

至此,问题解决!记录一下解决问题的过程,怕年纪大忘了。。。

【Git】远程仓库代码覆盖本地仓库代码,解决push上库冲突的问题相关推荐

  1. git远程分支强制覆盖本地分支

    有时候同一个分支,远程仓库的和本地的都被修改的面目全非了,变得很不一致了. 如果想要把本地的替换成远程的,即用远程分支覆盖本地分支. 第一种方式: reset --hard 参数 git fetch ...

  2. git如何将远程仓库代码拉下覆盖本地仓库

    git将远程仓库代码拉下覆盖本地仓库 记录,在最近代码学习过程中,自己手动改了一下代码,但是忘记修改了哪些,现在想恢复到和远程仓库代码一致. 使用如下三条命令搞定: 1.git fetch --all ...

  3. 怎么把git代码导入到本地仓库_git在本地仓库添加了一个tag,如何把这个tag同步到远程仓库?...

    推送所有tag :git push --tags 附git常用命令 查看文件状态 :git status 切换分支 :git checkout [分支名] 新增文件 :git add [文件名] 新增 ...

  4. git之branch分支增删改查、切换、更新远程代码到本地仓库

    目录 0.环境 1.branch创建并推送到远程 2.branch删除 3.branch重命名 4.branch查询 5.branch切换 6.更新远程branch到本地仓库 参考 0.环境 wind ...

  5. Git更新远程仓库代码到本地仓库办法

    Git更新远程仓库代码到本地仓库办法 1. 需求 2. 查看远程分支 git remote -v 3. 从远程获取最新版本到本地 git fetch origin master:temp 4. 比较本 ...

  6. git 更新远程代码到本地仓库

    git fetch 的简单用法:更新远程代码到本地仓库 方式一 (远程代码直接下载合并到本地) 1. 查看远程仓库 $ git remote -v eoecn https://github.com/e ...

  7. git创建一个自己的本地仓库

    如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or inde ...

  8. Git的基本使用(本地仓库)

    一.安装Git 可以使用以下地址下载Git,然后默认选项安装即可 Git for Windowshttps://git-for-windows.github.io 安装完成后,在开始菜单找到" ...

  9. git强制拉取代码覆盖本地的

    git reset --hard 3b2cbd856874a685d67216086233b9454ee84f27 撤掉已push的代码 git log -5   看下要撤回到哪个版本号  比如要撤回 ...

最新文章

  1. atmel c keil 包_Keil C软件与AVR Atmega系列下载器使用
  2. spring事务介绍
  3. linux 6.3 vnc安装包,CentOS 6.3安装和配置VNC
  4. SDNU 1469.校门外的树(水题)
  5. goland设置goroot_go环境搭建-goland使用、gopath、go命令
  6. SAP UI5 enhancement on resourceBundle
  7. AM335x(TQ335x)学习笔记——GPIO关键驱动移植
  8. 这些Python骚操作,你值得拥有
  9. C# DateTime.Compare判断两个DateTime 日期是否相等
  10. c python 内存冲突_Python在计算内存时应该注意的问题?
  11. 【Pytorch】expand()用法==》扩展某个维度
  12. BGP——重分发注意点(总结+配置)
  13. 基于JAVA+SpringBoot+Mybatis+MYSQL的客户关系CRM系统
  14. MySQL图书管理系统设计
  15. 分别使用U+、B+、UD制作WinPE启动盘
  16. Advanced Auto Layout
  17. 理解Python中的RingBuffer环形缓冲区
  18. windows10关闭java自动更新
  19. Java是如何实现外卖订餐系统的
  20. 北京市委书记蔡奇:元宇宙是一片“新蓝海”推动元宇宙产业聚集发展

热门文章

  1. YOLOv5改进:引入DenseNet思想打造密集连接模块,彻底提升目标检测性能
  2. 2022最新nft数字藏品系统源码,商业运营版
  3. 中国信通院魏博锴:云原生混部标准解读
  4. 成为FSD(全栈工程师)
  5. springboot停车场收费系统的设计与实现.rar(论文+项目源码)
  6. SpringMVC源码分析系列
  7. 陶泓达:3.30晚间美盘最新走势分析及操作思路!
  8. 【推荐系统】58同城的本地服务推荐架构
  9. 【学习笔记】牛顿迭代法求立方根
  10. Spoken English Practice(If you fail to do as I say, I will take you suffer.)