关注+星标公众号,不错过精彩内容
作者 | 量子君
微信公众号 | 极客工作室
【开发工具日记】专栏介绍
本章目录
前言 一、常见场景
二、实现原理
三、操作步骤
四、参考文献
总结
前言
一、常见场景
场景1:B同学急需用到A同学模块的改动,但是A同学还没调试好,代码暂时不能合入主仓库。
场景2:A同学做了一个示例给组内其他成员参考,A同学不想将这个提交合入主仓库,也不想发起新的Pull Request。
场景3:A同学一直在本地开发,很久没拉取最新代码,听闻最新代码跑不起来,但又依赖最新代码的一部分提交。
二、实现原理
A同学把本地修改先推送到远端Fork的仓库,然后在Gitee网页上查看本次提交详情,生成Email Patch并下载到本地,将Patch发给B同学。B同学把Patch文件复制到本地工程的根目录,使用git命令加载此Patch。
三、操作步骤
将本地修改推送到Gitee远端Fork仓库。 在Gitee远端Fork仓库中,点击本次提交,进入详情页。 生成 Patch并下载到本地。 a. 点击“下载为 -> Eamil Patch"。 b. 在弹出的Patch详情页,按Ctrl+S保存,文件后缀需为.patch。 将patch发送给需要Cherry-pick的同学。 其他同学收到后,把Patch文件放到工程根目录下。 用 git am 命令打补丁。 如果遇到冲突,需解决冲突之后 执行 git add 和 git am --continue (同rebase、merge)。 如需回退版本,可以用 git reset 命令回退至之前版本。
四、参考文献
git 补丁 - diff 和 patch 使用详解_patch git binary diff-CSDN博客
Gitee代码pr打patch到本地仓 - 简书
总结
Gitee 并不支持从远端仓库一键cherry-pick到本地仓库的功能,但在实际开发这种操作常会用到。