最近在开发一款惠民的医疗App,方便百姓看病的,线上预约挂号缴费,选择医生,到付费治疗,病历查看,全个人健康档案数据查看,完备的一款卫健委指导下的App,因为App的开发可能会涉及到很多推送,分享,以及定位的功能。但是这些功能需要用户授权个人信息,某些第三方SDK并不需要手机号信息,确依旧想获取这个权限,作为官方App,当然是以保护个人隐私信息为重。因此我们开发的时候,会被要求去掉这些第三方SDK,政府很注重个人隐私啊。什么定位,手机imei,手机卡号信息一律不准获取,除非明确告诉用户,需要手机号码作为短信验证码的时候才能使用用户填写的手机号。我表示,非常认可,并赞同这样的做法,不像某些App各种数据收集,然后给你推荐你喜欢的视频,比如说你聊天可能说想买表,短视频就会推荐你手表的视频,购物的就会推荐你手表,哎,不厌其烦,真令人讨厌。
基于当地政府对个人隐私的保护的高度重视,我们开发的产品代码,就有2条分支,一条是以保留各类第三方SDK的develop分支,第二条是remove-sdk分支。(SDK中只要含有获取手机号,读取手机信息的代码,被扫描就会被甲方当地政府要求去除),这就会出现2种情况,我在develop分支开发的功能,需要移动到 remove-sdk分支上,这时候使用 cherry-pick最为方便。
1 idea先切换到remove-sdk分支,然后打开 Version-Log日志窗口,然后选择显示 远程的
origin/develop分支,选择比如最近develop分支中开发的新功能 A。A 包含了3次提交
commit,push..V1,V2,V3、
2 在 Version-Log日志窗口,按住鼠标左键不松手,下滑选中这3个提交 V1,V2,V3,鼠标右键,选择 Cherry-pick.
3 然后 选择idea主窗口上的 VCS,--》 git --> push,选中remove-sdk分支上的 change_list的
三个改动:V1,V2,V3。选择push,就把 所需要的功能A,搞到remove-sdk分支上。