git cherry-pick 合并某次提交

2023-10-14 03:44

本文主要是介绍git cherry-pick 合并某次提交,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、无冲突的情况

1、合并其它分支某次提交

切换到主分支,想把其他分支的某次commit修改 合并到主分支上,

可以用 git cherry-pick 命令

比如,其它分支,某次提交的commit Hash 是30e48158badc39801f1ce3cb375a07b872d6f220 ,

想合并这次提交

可以  git cherry-pick 30e48158badc39801f1ce3cb375a07b872d6f220

示例:

$ git status
On branch 2.0-cef91
Your branch is ahead of 'origin/2.0-cef91' by 1 commit.
  (use "git push" to publish your local commits)
 

2、查看合并提交后,修改了什么

当前分支,自动多了一个提交

可以 使用git log ,看看当前分支commit log

当前HEAD 是最新COMMIT

origin是之前主分支的commit提交

查看 修改了什么 使用 git diff 这个origin分支的HASH值

二、有冲突的情况

1、合并其它分支另一个commit

     这个commit分支修改的比较多,可能有冲突

这个就有冲突,有些dll  lib 二进制文件冲突了

2、看合并了哪些,冲突了哪些

1)、git status

2)、取消cherry-pity

有冲突的话,可以先取消 

git cherry-pick --abort

三、解决冲突

1、git cherry-pick -n <commit_id>

不自动提交

-n, --no-commit don't automatically commit

2、git status 查看冲突文件

3、冲突的文件 忽略掉

我想保留主分支上文件,忽略掉commit分支上冲突的文件

需要用到 git reset    git checkout  命令

1)、git reset

重置暂存区的文件与上一次的提交(commit)保持一致

这里重置冲突的文件,与上次提交时保持一致

2)、git checkout -- file

将暂存区文件拉取还原

3)这两个命令目的

就是将冲突文件重置为冲突之前的状态,忽略掉commit 分支的修改

git reset HEAD <file_name>
git checkout -- <file_name>

4)没有冲突文件后,重新commit

这样就忽略了冲突,只合并了想合并的文件了

这篇关于git cherry-pick 合并某次提交的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

Git进行版本控制的实战指南

《Git进行版本控制的实战指南》Git是一种分布式版本控制系统,广泛应用于软件开发中,它可以记录和管理项目的历史修改,并支持多人协作开发,通过Git,开发者可以轻松地跟踪代码变更、合并分支、回退版本等... 目录一、Git核心概念解析二、环境搭建与配置1. 安装Git(Windows示例)2. 基础配置(必

Git打标签从本地创建到远端推送的详细流程

《Git打标签从本地创建到远端推送的详细流程》在软件开发中,Git标签(Tag)是为发布版本、标记里程碑量身定制的“快照锚点”,它能永久记录项目历史中的关键节点,然而,仅创建本地标签往往不够,如何将其... 目录一、标签的两种“形态”二、本地创建与查看1. 打附注标http://www.chinasem.cn

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

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

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

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

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、输入新的分支的