git合并分支时当前分支落后于主分支

2024-03-06 03:30

本文主要是介绍git合并分支时当前分支落后于主分支,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 问题重现:
    • 解决思路:
    • 实现:
      • 第一步:根据主分支(origin)代码在本地创建新的临时分支,命名为temp
      • 第二步:将临时分支(temp)合并到开发分支(feature/dev)
      • 第三步:解决合并后的冲突
      • 第四步:提交开发分支(feature/dev)并push到远程仓库
      • 第五步:将开发分支(eature/dev)合并到主分支(origin)

问题重现:

我们平时开发的时候都是从主分支创建分支,然后将该分支拉取到本地进行开发,开发完成以后再将此分支合并到远程主分支。
但是一般而言,我们都是整个团队在开发,等开发完了,需要合并到远程分支的时候,远程分支已经有很多次提交(commit)了,自己的分支已经落后主分支很多版本,切换回主分支的时候就不在最新commit上:

git checkout origin

git合并分支时当前分支落后于主分支_01.png
那么这个时候应该怎么办呢?

解决思路:

假设当前开发的分支名为:feature/dev
根据主分支(origin)代码在本地创建新的临时分支,命名为temp
将临时分支(temp)合并到开发分支(eature/dev
解决合并后的冲突
提交开发分支(feature/dev)并push到远程仓库
后将开发分支(feature/dev)合并到主分支(origin

实现:

第一步:根据主分支(origin)代码在本地创建新的临时分支,命名为temp

# 获取远程仓库origin主分支的最新代码
git fetch origin

git合并分支时当前分支落后于主分支_02.png

# 根据主分支创建一个临时分支
git checkout -b temp origin

git合并分支时当前分支落后于主分支_03.png
我们可以看到dev分支与temp分支是不一样的
git合并分支时当前分支落后于主分支_04

第二步:将临时分支(temp)合并到开发分支(feature/dev)

# 可以先看下开发分支与临时分支的差别
git diff feature/dev temp

git合并分支时当前分支落后于主分支_05

# 切换到开发分支
git checkout  feature/dev# 合并临时分到开发分支
git merge temp

git合并分支时当前分支落后于主分支_06
我们可以看到在for_test/test_behand_merge.py文件中有代码冲突,我们需要解决冲突后再进行下一步的操作

第三步:解决合并后的冲突

git合并分支时当前分支落后于主分支_07
解决冲突后是这样的:
git合并分支时当前分支落后于主分支_08

第四步:提交开发分支(feature/dev)并push到远程仓库

我们现在可以看下Git的状态:
git合并分支时当前分支落后于主分支_09
解决冲突后提交一下:

git statusgit add test_behand_merge.pygit commit -m "测试:当前分支落后主分支 --> 创建临时分支并合并到dev分支"git push

git合并分支时当前分支落后于主分支_10

第五步:将开发分支(eature/dev)合并到主分支(origin)

切换到主分支:

git checkout origin

git合并分支时当前分支落后于主分支_11
我们会发现还是还是不是指向最新的提交,OK,没有关系,我们让Git指向最新的提交:

git checkout master

git合并分支时当前分支落后于主分支_12
我们会发现当前分支落后origin/master4个提交,OK,pull一下

# 记得pull一下
git pull

git合并分支时当前分支落后于主分支_13
这个时间就可以做最终的合并了:

git merge feature/dev

git合并分支时当前分支落后于主分支_14
最后push一下就ok了。

这篇关于git合并分支时当前分支落后于主分支的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778744

相关文章

C#实现一键批量合并PDF文档

《C#实现一键批量合并PDF文档》这篇文章主要为大家详细介绍了如何使用C#实现一键批量合并PDF文档功能,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言效果展示功能实现1、添加文件2、文件分组(书签)3、定义页码范围4、自定义显示5、定义页面尺寸6、PDF批量合并7、其他方法

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

IDEA中新建/切换Git分支的实现步骤

《IDEA中新建/切换Git分支的实现步骤》本文主要介绍了IDEA中新建/切换Git分支的实现步骤,通过菜单创建新分支并选择是否切换,创建后在Git详情或右键Checkout中切换分支,感兴趣的可以了... 前提:项目已被Git托管1、点击上方栏Git->NewBrancjsh...2、输入新的分支的

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢