git如何把一个分支的commit提交到另一个分支上

2023-11-03

项目版本管理使用git,在实际工作当中经常会遇到计划赶不上变化,比如某几个改动要提前上线,或者某几个改动这次不发布。如果是时间间隔短,改动量小以及个人记忆强大的基础上没什么事,弄个个新分支把需要的弄出来,或者屏蔽掉。但是如果上面三个条件有一个不满足,其实都特别难受。

我们能不能把我们需要修改的commit也提交到别的分支,这样我们只需要根据我们改动的提交,而不是一个文件一个文件的去修改。

实际上是有的,这个操作叫做cherry-pick
(1)cherry-pick 命令
这里如果你是忠实的命令行操作大牛,这里我找到一个git cherry-pick的命令行教程(实际上直接通过搜索工具 搜索cherry-pick,一大把对应的教程)

git cherry-pick 教程

(2)可视化工具
我平常用得最多的就是idea自带的git工具,操作方式也很直观简单,

第一步:就是你现在你切换代码分支到想要被提交代码的分支上。

第二步:在git提交记录中找到目标commit提交的那个分支,点击获取该分支commit历史记录

第三步:找到你想要的那个commit,右键cherry-pick
在这里插入图片描述
同样其他可视化工具比如sourcetree等,这里说明一下的是 GitExtensions这个工具,如果你使用的是中文版,那它的cherry-git对应的中文名叫做“撷取此提交”
微信公众号:我是坑货

(3)gitlab
内部版本管理大多数都使用的是gitlab,实际上gitlab的网页上也有cherry-git功能
在这里插入图片描述
只不过藏的有点深,首先是创建一个new merge request,然后去对应的commit点击过去,然后在上图的位置找到cherry-pick进行所谓的“优选”
或者“撷取”commit。

微信公众号:我是坑货

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git如何把一个分支的commit提交到另一个分支上 的相关文章

  • web2py git 集成 - localhost 和 pythonanywhere

    我完全不知道如何将 Github 集成到 web2py 中 我在 USB 上安装了 web2py任何地方的Python http www pythonanywhere com web2py概述文档chapter3http web2py co
  • Python 无法在 git bash 命令行中工作

    Python 不会在 git bash Windows 中运行 当我在命令行中输入 python 时 它会将我带到一个空行 而不会像在 Powershell 中一样显示它已输入 python 2 7 10 它没有给我错误消息 但 pytho
  • 使用 TortoiseGit 创建 git 克隆时出现 SSL 证书问题

    我想在 TortoiseGit 的帮助下克隆 git 存储库 但出现错误 错误 SSL 证书有问题 请验证 CA 证书是否正常 细节 错误 14090086 SSL 例程 SSL3 GET SERVER CERTIFICATE 访问时证书验
  • 如何标记单个文件?或如何下载特定文件? - 胃肠道

    我想向文件添加标签以轻松下载该文件而不是整个分支 如何下载GIT中的特定文件 我不知道有什么方法可以标记特定文件git 对于第二个问题 如何下载特定文件git 仅当您的意思是 同时下载 时 以下内容才有效in a git存储库 这就是我理解
  • 返回到存储库中的特定修订后提交并推送更改?

    我们需要及时返回到某个特定的提交 一些意外的改变是为了掌握 尝试恢复它挖得太深 所以 master 的状态很糟糕 现在我们希望master回到66ada4cc61d62afc 根据git 恢复到某个提交 https stackoverflo
  • 合并请求、审核流程以及在 GitLab 中使用注释

    我们目前正在评估 GitLab 在我们项目中的使用情况 我们发现稍有偏差的是审查合并请求时的评论 当在代码审查过程中输入一些注释并推送新的提交来解决这些注释时 问题就开始了 对提交所做的评论和对 更改 面板所做的评论都显示在 讨论 选项卡上
  • 无法从我的电脑上使用 traefik 后面的 gitlab 进行 git 克隆

    这是我的 gitlab 和 traefik 配置 version 3 7 services gitlab web image gitlab gitlab ce latest restart always hostname gitlab ro
  • git stash 删除最旧的存储(比如最旧的 5 个存储)

    如何在一个语句中删除最旧的存储 例如最旧的 5 个存储 而不是执行以下操作 git stash drop stash 3 git stash drop stash 4 git stash drop stash 5 git stash dro
  • 从 github 中删除子项目提交

    我有两个存储库A and B 我错误地在我的机器上将仓库 B 克隆到了 A 内 我从存储库 B 中删除了所有代码 但是当我在源上从 A 推送并合并代码时 它还显示了子项目提交B在 Github 仓库上 我想从我的 master 上删除子项目
  • 获取最新远程提交的 SHA1 [重复]

    这个问题在这里已经有答案了 可能的重复 git bash 如何检查是否有新的提交可用 https stackoverflow com questions 6006759 git bash how to check if theres a n
  • 在 Web 应用程序中显示最新的提交值?

    我有一些 Rails 应用程序 我使用 Git 作为版本控制系统 我使用 GitHub 或 Beanstalk 作为存储库主机 从理论上讲 我想要做的事情非常简单 以某种方式在 Web 应用程序的页脚中显示最新的提交 ID 号 哈希值 这样
  • gitlab 请求将分支 A 合并到开发中(落后 3 次提交)我应该担心吗?

    在 gitlab 中创建合并请求时 我经常收到一条消息 请求将分支 A 合并到开发中 x 提交落后 gitlab想告诉我什么 我应该担心还是需要修复某些东西 什么 一段时间后合并请求在项目中打开时 由于其他人合并了自己的更改 您尝试合并到的
  • 按时间顺序将多个文件夹提交到 git 中

    我有数百个网站备份 每个文件夹一个 我想将它们放入 git 存储库中 每个备份作为一个版本 这些变化主要涉及图像文件和每天 2 个数据库备份 大小约为 25 GB 并且不断增加 有没有办法告诉 git 获取其中一个文件夹并将其提交到存储库中
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git
  • Git post-receive - 如何检查推送的分支是否与主分支合并

    在我们的团队中 我们通常将所有任务推送到单独的分支中 然后发布经理审查这些分支并将它们合并到 主 分支中 有时团队成员忘记将他们的分支与主分支合并 在推送之前 所以我想做的是 在用户推送后输出一条消息 请与主分支合并 我想我需要检查一些内容
  • 无法使用 git 推送或获取 [重复]

    这个问题在这里已经有答案了 我可以拉 但无法使用 git 版本 1 9 5 推送或获取 它突然开始给我以下错误 关于如何修复它有什么想法吗 git fetch fatal unable to access https email prote
  • 如何生成类似github的影响图?

    是否有一些程序 或者我错过的一些神奇的 git 插件 可以从 git 存储库获取影响图或类似的东西 而无需通过 github 就数据收集而言 我可以生成图表 我不确定从哪里开始编写自己的代码 我假设有一些标志我可以传递给 git log 来
  • 执行 git Push 时出现“diff.renamelimit 变量”警告

    我将本地提交推送到远程 git 服务器并收到以下警告消息 remote warning only found copies from modified paths due to too many files remote warning y
  • 如何让 Gitlab 运行程序在成功构建时将代码合并到分支中

    嗯 标题几乎是不言自明的 总之 如果构建成功 我希望将一个分支 即开发 合并到另一个分支 即生产 我尝试了 jakub kania 解决方案 但我总是得到id rsa invalid format 我认为 gitlab 秘密变量以某种方式被
  • 在 Windows 上使用 Git - 意外丢失了大量工作。我可以拿回来吗?

    我很困惑 我想我已经失去了几个小时的工作时间 我之前在 Git 中编辑了一个文件 我保存了它 但没有提交 我确实做了一些其他文件更改 并提交并推送了它们 然而 有一个文件被搞乱了 所以我单击了最后一次成功的提交 然后按了 回滚到此提交 令我

随机推荐

  • nginx 之 root 和 alias

    目录 1 alias 语法 2 root 语法 3 差别 1 alias 语法 Syntax alias path Default Context location 定义指定location的替换 例如 使用以下配置 location i
  • 计算机网络:流量控制和拥塞控制

    拥塞控制和流量控制 流量控制 如果发送方把数据发送得过快 接收方可能会来不及接收 这就会造成数据的丢失 TCP的流量控制是利用滑动窗口机制实现的 接收方在返回的数据中会包含自己的接收窗口的大小 以控制发送方的数据发送 拥塞控制 拥塞控制就是
  • win10 装MySQL Instance Configuration Wizerd 卡死/未响应问题

    一 若此前安装过MySQL应当先将此前的文件残留清除干净 见链接http blog csdn net aerchi article details 50432934 二 隐藏文件ProgramData MySQL也应当删除 偷懒方法就是在安
  • Linux命令·chmod

    chmod命令用于改变linux系统文件或目录的访问权限 用它控制文件或目录的访问权限 该命令有两种用法 一种是包含字母和操作符表达式的文字设定法 另一种是包含数字的数字设定法 Linux系统中的每个文件和目录都有访问许可权限 用它来确定谁
  • Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 8.x提示报错

    1 在使用统一脚手架的时候提示了报错信息如下 ERROR in app containers App SiderMenu SiderPanel style scss node modules css loader node modules
  • java实现进程控制块_操作系统:进程管理和IO控制

    一 进程管理 进程管理包括进程控制 进程调度 进程同步与通信 死锁控制四个内容 一 进程控制 进程是操作系统中运行的基本单位 包括程序段 数据段和进程控制段 操作系统通过进程控制块 PCB 管理进程 每一个PCB唯一标示一个进程 它存储进程
  • 沉浮于各种文件型数据库 hsqldb h2 还是derby

    原始发表时间 2009 09 10 经过几天的折腾终于还是心碎了 前前后后为了这个数据库共计花费了约2周的时间 系统采用的是经典技术框架 Spring 2 0 5 Hibernate 3 2 iBatis 2 2 0 用于连接文件型数据库的
  • CI/CD持续集成之git命令

    持续集成主要步骤 持续集成的定义 互联网开发已经形成一套标准的流程 最重要的组成部分就是持续集成 持续集成的好处就是 频繁将代码集成到主干 它的优点 1快速发现错误 2 防止分支大幅度偏离主干 意义 就是让产品进行持续迭代 同时保持高质量交
  • git学习1之基本原理

    2019独角兽企业重金招聘Python工程师标准 gt gt gt Git 基础 那么 简单地说 Git 究竟是怎样的一个系统呢 请注意接下来的内容非常重要 若你理解了 Git 的思想和基本工作原理 用起来就会知其所以然 游刃有余 在开始学
  • R手册(Visualise)--ggplot2

    文章目录 Overview Geoms 基本图形 单变量 双变量 三变量 文本 误差可视化 地图 Stats Scales 常用标尺格式 坐标轴标尺 Color and fill scales Shape and size scales C
  • mysql使用参数

    调优 Show status 动态查看mysql状态 top 同理 Show variables 静态查看 Show processlist 查看运行任务列表 Show status like Com 查看系统参数 Show global
  • 新开ubuntu的必要优化

    博主不是专业的运维人员 有时候新开业务服务器到生产环境忘记配置ubuntu的配置时候 就发生各种奇怪的悲剧比如 redis出现大量TIMEWAIT状态 并且服务器不会收 原因是tcp tw recycle配置为0等等 为避免遗忘记录下新开的
  • 国内可用的css,js,图标字体,等常用前端公共库CDN服务

    CDN的全称是Content Delivery Network 即内容分发网络 其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节 使内容传输的更快 更稳定 通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的
  • 参数校验Jakarta Bean Validation学习

    不断学习更新中 同教程代码 码云 1 背景 我们在平时的学习与工作中 都需要对参数进行校验 比如在注册时 用户名密码不能为空 用户名长度必须小于10等等 虽然有些校验在前端页面会进行验证 但是后端为了增加健壮性也需要对这些参数进行判断 比如
  • mqtt报文逐条解析

    文章目录 1 背景说明 2 mqtt报文解析 3 剩余长度计算 4 构建connect报文 5 CONNACK报文示例 6 心跳PING报文 7 心跳回应PINGRESP报文 8 断开连接DISCONNECT报文 9 订阅请求SUBSCRI
  • unity 3D RPG教程(四)

    目录 声明 16 AttackData 攻击属性 17 Execute Attack 实现攻击数值计算 18 Guard Dead 守卫状态和死亡状态 19 泛型单例模式 Singleton 20 Observer Pattern 接口实现
  • Mac OS X 10.9 配置jdk1.7

    首先 我们下载个eclipse 或者任何java运行程序 双击 Mac OS会提示你安装jre运行时环境 按照提示安装就可以了 Mac OS 10 9会安装jdk1 6 苹果提供的Java都安装在 System Library Framew
  • linux - 配置Ramdisk创建内存盘 (**)

    在任何Linux发行版中创建RAM磁盘 linux 配置Ramdisk创建内存盘 在任何Linux发行版中创建RAM磁盘 1 什么是内存磁盘 RAM磁盘也称为RAM驱动器 它是使用文件系统格式化的 RAM 的一部分 您可以将其挂载到 Lin
  • 2D平面中关于矩阵(Matrix)跟图形变换的讲解

    原文 http blog csdn net linmiansheng article details 18801947 在二维平面上 常用的有以下三种基本的图形变化 1 Translation 2 Scale 3 Rotation 在And
  • git如何把一个分支的commit提交到另一个分支上

    项目版本管理使用git 在实际工作当中经常会遇到计划赶不上变化 比如某几个改动要提前上线 或者某几个改动这次不发布 如果是时间间隔短 改动量小以及个人记忆强大的基础上没什么事 弄个个新分支把需要的弄出来 或者屏蔽掉 但是如果上面三个条件有一