【开发工具日记】Git篇 ① Gitee 远端仓库cherry-pick到本地的方法

文摘   科技   2024-10-26 08:00   山东  

关注+星标公众,不错过精彩内容


作者 | 量子君

微信公众号 | 极客工作室

【开发工具日记】专栏介绍

在这个专栏中,你可以了解到各种开发工具的特点和用途,如代码编辑器、调试工具、性能优化工具、版本控制工具等。专栏中还包含了一些实用的技巧和经验分享,例如如何使用特定工具解决常见问题、如何提高代码质量和可维护性等。另外,还提供了一些有用的资源下载,如开源项目、UI库、插件等。

本章目录

  • 前言
  • 一、常见场景

  • 二、实现原理

  • 三、操作步骤

  • 四、参考文献

  • 总结

 前言

Gitee 并不支持从远端仓库一键cherry-pick到本地仓库的功能,但在实际开发这种操作常会用到。

一、常见场景

  • 场景1:B同学急需用到A同学模块的改动,但是A同学还没调试好,代码暂时不能合入主仓库。

  • 场景2:A同学做了一个示例给组内其他成员参考,A同学不想将这个提交合入主仓库,也不想发起新的Pull Request。

  • 场景3:A同学一直在本地开发,很久没拉取最新代码,听闻最新代码跑不起来,但又依赖最新代码的一部分提交。


二、实现原理

通过打Patch的方式,实现cherry-pick:

A同学把本地修改先推送到远端Fork的仓库,然后在Gitee网页上查看本次提交详情,生成Email Patch并下载到本地,将Patch发给B同学。B同学把Patch文件复制到本地工程的根目录,使用git命令加载此Patch。


三、操作步骤

  1. 将本地修改推送到Gitee远端Fork仓库。
  2. 在Gitee远端Fork仓库中,点击本次提交,进入详情页。
  3. 生成 Patch并下载到本地。
    a. 点击“下载为 -> Eamil Patch"。
    b. 在弹出的Patch详情页,按Ctrl+S保存,文件后缀需为.patch。
  4. 将patch发送给需要Cherry-pick的同学。
  5. 其他同学收到后,把Patch文件放到工程根目录下。
  6. git am 命令打补丁。
  7. 如果遇到冲突,需解决冲突之后 执行 git addgit am --continue (同rebase、merge)。
  8. 如需回退版本,可以用 git reset 命令回退至之前版本。

四、参考文献

  1. git 补丁 - diff 和 patch 使用详解_patch git binary diff-CSDN博客

  2. Gitee代码pr打patch到本地仓 - 简书


总结

Gitee 并不支持从远端仓库一键cherry-pick到本地仓库的功能,但在实际开发这种操作常会用到。






若觉得文章对你有帮助,随手点『好看』、转发分享,也是对我的支持
关注我的微信公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。
点击“阅读原文”查看更多分享

极客工作室
一个专注于嵌入式系统、智能硬件、AIoT的极客自媒体
 最新文章