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

相关文章

mysql如何查看当前连接数

《mysql如何查看当前连接数》:本文主要介绍mysql如何查看当前连接数问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql查看当前连接数查看mysql数据库允许最大连接数总结mysql查看当前连接数查看当前连接数SHOW STATUS LIKE

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Android如何获取当前CPU频率和占用率

《Android如何获取当前CPU频率和占用率》最近在优化App的性能,需要获取当前CPU视频频率和占用率,所以本文小编就来和大家总结一下如何在Android中获取当前CPU频率和占用率吧... 最近在优化 App 的性能,需要获取当前 CPU视频频率和占用率,通过查询资料,大致思路如下:目前没有标准的

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://

使用Python创建一个能够筛选文件的PDF合并工具

《使用Python创建一个能够筛选文件的PDF合并工具》这篇文章主要为大家详细介绍了如何使用Python创建一个能够筛选文件的PDF合并工具,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录背景主要功能全部代码代码解析1. 初始化 wx.Frame 窗口2. 创建工具栏3. 创建布局和界面控件4

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

Java实现Elasticsearch查询当前索引全部数据的完整代码

《Java实现Elasticsearch查询当前索引全部数据的完整代码》:本文主要介绍如何在Java中实现查询Elasticsearch索引中指定条件下的全部数据,通过设置滚动查询参数(scrol... 目录需求背景通常情况Java 实现查询 Elasticsearch 全部数据写在最后需求背景通常情况下