当前位置: 首页 > news >正文

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

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

http://www.lryc.cn/news/196275.html

相关文章:

  • 【面试HOT100】子串普通数组矩阵
  • XPSpeak软件教程-科学指南针
  • NLP算法面经 | 腾讯 VS 美团
  • 【广州华锐互动】塔吊多人安拆VR互动培训系统
  • Linux性能优化--性能工具:特定进程内存
  • MyLife - Docker安装rabbitmq
  • Leetcode刷题详解——长度最小的子数组
  • 客流人数管理新趋势:景区客流采集分析系统的功能特点
  • 【仙逆】王林极限跑酷,藤厉自食恶果,仙逆战斗获好评,张虎命运被改写
  • 想要精通算法和SQL的成长之路 - 前缀和的应用
  • 如何让大模型自由使用外部知识与工具
  • 关注用户信息卡片
  • 【Java基础面试十八】、说一说重写与重载的区别
  • Linux文件管理(上)
  • docker 复习
  • React之事件机制与事件绑定
  • spark stream入门案例:netcat准实时处理wordCount(scala 编程)
  • Ansible基础及模块
  • Atlassian Confluence OGNL表达式注入RCE CVE-2021-26084
  • 【c语言】编译链接--详解
  • 国家开放大学 训练题
  • 【灵动 Mini-G0001开发板】+Keil5开发环境搭建+ST-Link/V2程序下载和仿真+4颗LED100ms闪烁。
  • 同为科技(TOWE)关于风力发电雷电防护的解决方案
  • gorm 中的事务运用
  • maven 新建模块 导入后 按Ctrl 点不进新建模块pom定义
  • idea使用debug无法启动,使用run可以启动
  • 进程的虚拟地址空间
  • 做web自动化测试遇到Chrome浏览器老是自动更新,怎么办 ? 这里提供两个解决办法 。
  • 腾讯HR面试
  • 过滤器(Filter)和拦截器(Interceptor)有什么不同?