首页 > 其他分享 >git cheery-pick操作及相关知识

git cheery-pick操作及相关知识

时间:2024-12-09 23:54:27浏览次数:9  
标签:git 仓库 pick 命令 提交 upstream cheery 分支

介绍git cherry-pick <CommitHash>的使用

先了解一下git cherry-pick <CommitHash>命令

该命令用与合并某个分支的某一次提交,<CommitHash>替换为对应那次提交的哈希码(Hash)。

哈希码 : 哈希算法是一种将任意长度的输入数据转换成固定长度输出的方法,输出结果称为哈希码。可以起到压缩字符,加密信息,数据快速查找等作用。

  • git中的Hash可以理解为每一次commit后自动生成的id,包含了提交者、提交时间、提交信息等。每次提交对应一个Hash,可以使用该Hash进行分支选择性合并。
  • 注意 : 该命令与git merge <branch>命令不同,merge命令是用于直接合并<branch>下的所有提交(commit)。

该命令可用于同步你Github上fork的仓库。即若这个仓库有多个人在同时开发,可以使用该命令,配合相关操作,有选择的把他人对该仓库的更改同步到你的本地上。

  • 在github上fork某个仓库相当于将该仓库(upstream)的项目复制到自己仓库中。但并不会同步更新上游仓库的变动。

具体操作如下:

  1. 先将上游仓库关联到本地Git,使用命令(第一次进行时)

    git remote add upstream <URL> 
    <URL> 为对应上游仓库(你fork的原仓库)的SSH链接,好像Http也可以
    
    origin对应原仓库,upstream对应上游仓库
    
  2. 使用命令

    git pull upstream <branch>
    
    <branch> 对应你要同步的上游仓库的某一分支。
    

    使用该命令可以同步上游仓库的某个特定分支,拉取到本地。

  3. 使用命令

    git cherry-pick <CommitHash>
    

    合并某个分支的特定Commit。注意,使用上面命令是将指定的提交commitHash,应用于当前分支。
    即,若你想将dev分支下的某个Commit合并到master分支下,得先切换到master分支下,再调用该命令。

  4. 使用上述命令需要先知道CommitHash,可使用以下命令查看

    git log origin/<branch>  ----- 查看自己本地的改动CommitHash
    
    使用 git log origin/<branch>  -3  可以限制输出行数
    使用 git log origin/<branch>  --oneline  可以输出简洁版的信息,包含Hash和提交注释
    
    
    git log upstream/<branch>  ----- 查看上游仓库对应<branch>的改动CommitHash。(前提是已经添加了upstream,详见1)
    其他细节同上。
    

参考文章

  1. https://deepinout.com/git/git-questions/1245_git_how_to_cherrypick_from_a_remote_branch.html
  2. https://blog.csdn.net/love666666shen/article/details/120692804
  3. https://blog.csdn.net/zhezhebie/article/details/78761417
  4. fetch和pull的区别:https://blog.csdn.net/qq_37420939/article/details/89736567

标签:git,仓库,pick,命令,提交,upstream,cheery,分支
From: https://www.cnblogs.com/HLlll-blog/p/18596287

相关文章

  • 【Ray tracing with NeRF】Learnable Wireless Digital Twins: Reconstructing Elect
    LearnableWirelessDigitalTwins:ReconstructingElectromagneticFieldwithNeuralRepresentations###1.Overview2.MLmodelfortheEMpropertyandtheinteractionbehaviour2.1NeuralObject\[\mathbf{e}=\widetilde{g}_{\mathscr{E},o}\left......
  • github代码修改指南|乳腺超声肿块分割代码项目|Global Guidance Network for Breast L
    目录此项目相关信息显而易见的错误文件缺失很容易失误的地方此项目相关信息github链接:https://github.com/xorangecheng/GlobalGuidance-Net论文链接(2021MIA论文):https://www.sciencedirect.com/science/article/pii/S1361841521000359github提供的代码质量真的感人,我改了一下......
  • 推送(push)项目到gitlab
    文章目录1、gitinit1.1、在当前目录中显示隐藏文件:1.2、查看已有的远程仓库1.3、确保你的本地机器已经生成了SSH密钥:1.4、将生成的公钥文件(通常位于~/.ssh/id_rsa.pub)复制到GitLab的SSH设置中:1.5、测试SSH连接是否成功:2、gitremoteaddorigingit@192.168.3......
  • Git
    Git基础操作gitinit:初始化当前文件夹作为一个git项目gitadd.:将当前文件夹下所有的文件添加到暂存区gitcommit-m"在双引号里输入你想提交的信息":提交暂存区中的文件到本地存储库分支gitswitch-c<branch-name>:创建并切换到新分支(推荐,Git2.23+)。gitcheck......
  • gitlab极狐企业版实战推拉代码
    目录一、修改gitlab.rb文件1、gitlab配置修改2、网络互通3、拉取代码出错4、解决问题二、总结从gitlab创建项目到本地拉取代码、推送代码。以及其中出现的问题疑点讲解清楚。我太懂各位看官需要看什么了。如有不懂,评论私信一、修改gitlab.rb文件1、gitlab配置......
  • 你的Docker部署能更简单吗?GitLab集成与多进程管理又怎么做?
    前言文章开始前,先尝试回答几个问题:在日常工作中,程序的打包和部署方式流程是怎样的?如果使用Docker容器部署方式,是用原生Docker命令,还是Kaniko这类工具?除了业务服务外,如果还需要同时运行其他进程,应该怎么办?举个例子:除了主服务进程(比如Web服务器),还需要同时启动Nginx进程(用于......
  • GIT的基础介绍一些使用方法
    Git超实用总结 *廖雪峰Git介绍 *Git使用规范 *常用Git命令清单Git远程操作详解Git工作流程Git分支管理策略git客户端TortoiseGit如果不习惯使用命令行可以安装git客户端但是建议还是用命令行方式来操作git,这个我网上找的,我从来不用。TortoiseGit介绍日常使用Gi......
  • 最新前端架构设计:中央仓库管理-基于工作空间和git-submodule实现共用和管理
    作者:京东零售胡亚龙背景大促营销h5活动页面复用已有能力,快速搭建上线,沉淀通用方法。后续开发时研发效率提升40%。技术实现五种技术方案   各方案优劣:略。工作空间集中管理前三种方式不做介绍。项目结构单楼层开发公共模块 工作空间:packages:......
  • [笔记] Git 实战指南:Git命令大全 与 Git提交信息规范
    本文档是关于Git版本控制系统的综合指南,涵盖了从基础到高级的各种命令和最佳实践。它旨在为开发者提供一个全面的资源,帮助他们更有效地使用Git进行代码版本管理、团队协作以及项目开发。文档分为两个主要部分:Git命令大全和Git提交信息规范。Git安装文档:[笔记]W......
  • 一般与git服务器连接有http/ssh等,你用的是哪种方式?为什么?
    前端开发通常使用HTTPS和SSH两种方式连接Git服务器,各有优缺点:HTTPS:优点:简单易用:只需要用户名和密码(或PersonalAccessToken),配置简单,上手容易。大部分情况下,防火墙不会阻止HTTPS流量。方便快捷:克隆和拉取代码速度通常较快,尤其在网络状况良好的情况下。......