广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >git中cherry-pick命令的使用教程
  • 537
分享到

git中cherry-pick命令的使用教程

2024-04-02 19:04:59 537人浏览 薄情痞子
摘要

git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直

git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了,其实也就是对已经存在的commit 进行再次提交。

简单用法:

git cherry-pick <commit id>

例如:

$ git checkout v2.0分支
$ git cherry-pick 38361a55 # 这个 38361a55 号码,位于v3.0分支中:

$ git log
commit 38361a55138140827b31b72f8bbfd88b3705d77a
Author: Justin Justin@xxx.com
Date: Sat Dec 10 00:11:44 2016 +0800

1. 如果顺利,就会正常提交。结果:

Finished one cherry-pick.
On branch v2.0分支
Your branch is ahead of 'origin/old_cc' by 3 commits.

2. 如果在cherry-pick 的过程中出现了冲突

Automatic cherry-pick failed.
After resolving the conflicts,mark the corrected paths with 'git add <paths>' or 'git rm <paths>'and commit the result with:
git commit -c 15a2b6c61927e5aed6111de89ad9dafba939a90b

或者:

error: could not apply 0549563... dev
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

就跟普通的冲突一样,手工解决:

2.1 $ git status # 看哪些文件出现冲突

both modified: app/models/MainActivity.java

2.2 $ vim app/models/MainActivity.java # 手动解决它。

2.3 $ git add app/models/MainActivity.java

2.4 git commit -c <新的commit号码>

2.5 再次cherry-pick剩余commit

若提示:

error: a cherry-pick or revert is already in progress
hint: try "git cherry-pick (--continue | --quit | --abort)"
fatal: cherry-pick failed

则执行对应操作:

git cherry-pick --continue
git cherry-pick --quit
git cherry-pick --abort

命令集合:

git cherry-pick <commit id>:单独合并一个提交
git cherry-pick -x <commit id>:同上,不同点:保留原提交者信息。
Git从1.7.2版本开始支持批量cherry-pick,就是一次可以cherry-pick一个区间的commit。
git cherry-pick <start-commit-id>..<end-commit-id>
git cherry-pick <start-commit-id>^..<end-commit-id>

前者表示把<start-commit-id>到<end-commit-id>之间(左开右闭,不包含start-commit-id)的提交cherry-pick到当前分支;
后者有"^"标志的表示把<start-commit-id>到<end-commit-id>之间(闭区间,包含start-commit-id)的提交cherry-pick到当前分支。
其中,<start-commit-id>到<end-commit-id>只需要commit-id的前6位即可,并且<start-commit-id>在时间上必须早于<end-commit-id>
注:以上合并,需要手动push代码。

以上内容总结如下:

1.git checkout master            //此操作需要切换到master分支  

2.git pull

3.git cherry-pick  xxxxxx
 
4.git status 
 
5.编译提交等

到此这篇关于git中cherry-pick命令的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: git中cherry-pick命令的使用教程

本文链接: https://www.lsjlt.com/news/152397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • git中cherry-pick命令的使用教程
    git cherry-pick可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直...
    99+
    2022-11-13
  • 如何使用cherry-pick命令
    本篇内容主要讲解“如何使用cherry-pick命令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用cherry-pick命令”吧!各位码农朋友们一定有碰...
    99+
    2022-10-19
  • git中的pick命令怎么用
    本篇内容介绍了“git中的pick命令怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在git中,pick常与cherry配合使用,“c...
    99+
    2023-06-26
  • 如何使用git命令?(教程分享)
    Git是一个免费且开源的分布式版本控制系统,被广泛用于协作开发、版本控制和代码管理。Git可以在不同的操作系统上运行,包括Linux、Mac OS X和Windows等。Git可以通过命令行、图形用户界面和其他工具来使用。本文将介绍如何使用...
    99+
    2023-10-22
  • git中的命令怎么使用
    这篇文章主要讲解了“git中的命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git中的命令怎么使用”吧!git 的安装本文使用的是win7平台。 Git可以在Linux、Unix...
    99+
    2023-06-03
  • Git常用命令的使用
    目录Git基础要点Git常用命令Git分支服务器上的Git分布式Git版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统. 关于版本控制分为三种:本地版本控制系统...
    99+
    2023-05-19
    Git常用命令 Git 命令
  • Git中bundle命令的使用详解
    目录1. 打包2. 验证3. 查看分支4. 导入bundle4.1. 没有gitlab服务器4.2. 有gitlab服务器4.2.1 从bundle中clone4.2.2 从bund...
    99+
    2022-11-13
  • Ubuntu系统中Git客户端的安装与基本命令的使用教程
    这篇文章主要介绍“Ubuntu系统中Git客户端的安装与基本命令的使用教程”,在日常操作中,相信很多人在Ubuntu系统中Git客户端的安装与基本命令的使用教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”U...
    99+
    2023-06-13
  • 强制结束进程命令(ntsd命令/taskkill命令)使用教程
      1、ntsd强制结束命令   其实我只需要通过两个命令来强制性的结束这些进程,第一个命令就是ntsd命令,先要找到你的PID值,这个PID值是在任务管理器上面可以查看的到,在任务管理器上线点击“查看--选...
    99+
    2023-05-31
    结束进程 ntsd命令 taskkill命令 ntsd taskkill 命令 教程 进程
  • Redis中Scan命令的基本使用教程
    前言 Redis中有一个经典的问题,在巨大的数据量的情况下,做类似于查找符合某种规则的Key的信息,这里就有两种方式, 一是keys命令,简单粗暴,由于Redis单线程这一特性,keys命令是以阻塞的方式执...
    99+
    2022-10-18
  • Linux系统中使用xargs命令的教程
    本篇内容主要讲解“Linux系统中使用xargs命令的教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux系统中使用xargs命令的教程”吧!xargs命令有两个要点。第一,你必须列出目...
    99+
    2023-06-13
  • linux ls命令教程及ls命令使用方法
    ls命令按文件大小查看文件 a.降序:ls -lsh moudaen@morton:~$ ls -lsh total 20M 20M -rw-r--r-- 1 moudaen 65536 20M No...
    99+
    2022-06-04
    命令 使用方法 教程
  • Git常用命令及怎么在IDEA中使用Git
    本篇内容主要讲解“Git常用命令及怎么在IDEA中使用Git”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Git常用命令及怎么在IDEA中使用Git”吧!Git下载与安装安装完成后可以在任意目录...
    99+
    2023-07-05
  • git中的pull命令怎么用
    本篇内容主要讲解“git中的pull命令怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“git中的pull命令怎么用”吧!在git中,pull的意思是“从远程获取代码到本地”,pull命令的...
    99+
    2023-06-26
  • 在 Linux 上使用 Multitail命令的教程
    MultiTail是个用来实现同时监控多个文档、类似tail命令的功能的软件。 他和tail的区别就是他会在控制台中打开多个窗口,这样使同时监控多个日志文档成为可能。 什么是MultiTail    ...
    99+
    2022-06-04
    Linux 使用 Multitail Linux 使用 Multitail
  • Git的设置命令怎么使用
    今天小编给大家分享一下Git的设置命令怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、设置用户名和邮箱地址在使用 ...
    99+
    2023-07-05
  • 如何正确的使用Git命令
    这篇文章将为大家详细讲解有关如何正确的使用Git命令,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.1 概述在 Git 中提交时,会保存一个 commit 对象,该对象包含一个指向暂存内容...
    99+
    2023-06-06
  • Linux中stat命令显示文件的使用教程
    这篇文章主要讲解了“Linux中stat命令显示文件的使用教程”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux中stat命令显示文件的使用教程”吧!用法:stat [选项]... 文...
    99+
    2023-06-12
  • Linux中ipconfig与route命令的基本使用教程
    本篇内容主要讲解“Linux中ipconfig与route命令的基本使用教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中ipconfig与route命令的基本使用教程”吧!ifco...
    99+
    2023-06-12
  • git的使用方法及常用命令
    本篇内容介绍了“git的使用方法及常用命令”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!git在团队项目中的使用流程首先从一个git远程仓库...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作