From 53eb2abda5163c9d8839f82fdf67df8c03d55bf1 Mon Sep 17 00:00:00 2001 From: renjianbo <18691577328@163.com> Date: Mon, 12 Jan 2026 13:30:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .obsidian/workspace.json | 20 +- .../Areas/01-系统启动流程/Bootloader到Init.md | Bin 40 -> 44 bytes .../Areas/01-系统启动流程/Bootloader到Init.md.bak | Bin 0 -> 40 bytes .../Areas/01-系统启动流程/Launcher启动流程.md | Bin 34 -> 40 bytes .../Areas/01-系统启动流程/Zygote进程启动.md | Bin 30 -> 36 bytes .../04-资源与包管理/PackageManagerService.md | Bin 52 -> 24 bytes .../Areas/04-资源与包管理/README.md | Bin 28 -> 24 bytes .../Areas/04-资源与包管理/Resource资源加载机制.md | Bin 38 -> 29 bytes .../Areas/04-资源与包管理/动态加载与热修复原理.md | Bin 30 -> 33 bytes .../05-进程与线程通信/AIDL与HIDL使用与原理.md | Bin 38 -> 29 bytes .../Binder机制(内核到Java层).md | Bin 46 -> 37 bytes .../05-进程与线程通信/Handler机制源码解析.md | Bin 36 -> 28 bytes .../Areas/05-进程与线程通信/README.md | Bin 30 -> 27 bytes .../Areas/05-进程与线程通信/跨进程同步与锁优化.md | Bin 28 -> 30 bytes .../Areas/06-性能优化体系/README.md | Bin 28 -> 24 bytes .../06-性能优化体系/内存优化(LeakCanary原理).md | Bin 46 -> 37 bytes .../Areas/06-性能优化体系/功耗优化工具链.md | Bin 24 -> 24 bytes .../Areas/06-性能优化体系/启动优化方法论.md | Bin 24 -> 24 bytes .../流畅度(Choreographer+VSYNC).md | Bin 58 -> 37 bytes .../Areas/07-系统安全/README.md | Bin 24 -> 18 bytes .../Areas/07-系统安全/SELinux策略编写.md | Bin 32 -> 22 bytes .../Areas/07-系统安全/密钥存储与加密.md | Bin 24 -> 24 bytes .../Areas/07-系统安全/权限管理框架.md | Bin 22 -> 21 bytes .../Areas/07-系统安全/漏洞案例库.md | Bin 20 -> 18 bytes .../Areas/08-定制化开发/README.md | Bin 26 -> 21 bytes .../Areas/08-定制化开发/厂商定制接口规范.md | Bin 26 -> 27 bytes .../Areas/08-定制化开发/开机动画与OTA.md | Bin 26 -> 21 bytes .../Areas/08-定制化开发/系统属性定制.md | Bin 22 -> 21 bytes .../Areas/08-定制化开发/系统服务添加流程.md | Bin 26 -> 27 bytes .../Areas/09-调试与工具链/ADB高级命令.md | Bin 24 -> 18 bytes .../Areas/09-调试与工具链/GDB_LLDB调试Native.md | Bin 42 -> 23 bytes .../Areas/09-调试与工具链/README.md | Bin 28 -> 24 bytes .../09-调试与工具链/Systrace_Perfetto全解读.md | Bin 50 -> 29 bytes .../Areas/09-调试与工具链/自定义调试工具开发.md | Bin 28 -> 30 bytes docs/Obsidian笔记体系/MOCs/技能提升路线图.md | Bin 24 -> 24 bytes .../Projects/项目A-系统定制化/README.md | Bin 28 -> 26 bytes .../关键问题记录/2024-XX-XX-Service重启机制优化.md | Bin 58 -> 39 bytes .../关键问题记录/2024-XX-XX-开机动画卡顿调试.md | Bin 48 -> 38 bytes .../Projects/项目A-系统定制化/复盘与总结.md | Bin 20 -> 18 bytes .../Projects/项目A-系统定制化/技术方案设计.md | Bin 22 -> 21 bytes .../Projects/项目A-系统定制化/测试与验证记录.md | Bin 24 -> 24 bytes .../Projects/项目A-系统定制化/需求与背景.md | Bin 20 -> 18 bytes .../Projects/项目B-性能优化专项/README.md | Bin 30 -> 29 bytes .../工具链配置(Perfetto+Systrace).md | Bin 58 -> 41 bytes .../Projects/项目B-性能优化专项/目标与指标.md | Bin 20 -> 18 bytes .../Projects/项目B-性能优化专项/问题追踪列表.md | Bin 22 -> 21 bytes .../Projects/项目C-XX模块重构/README.md | Bin 30 -> 25 bytes .../Projects/项目C-XX模块重构/架构设计.md | Bin 18 -> 15 bytes .../Projects/项目C-XX模块重构/迁移计划.md | Bin 18 -> 15 bytes .../Templates/会议记录模板.md | Bin 22 -> 21 bytes .../Templates/技术方案设计模板.md | Bin 26 -> 27 bytes .../Templates/源码解析模板.md | Bin 22 -> 21 bytes .../Templates/问题排查模板.md | Bin 22 -> 21 bytes docs/学习笔记/gerrit分支规范.md | 256 +++++++++--------- 54 files changed, 138 insertions(+), 138 deletions(-) create mode 100644 docs/Obsidian笔记体系/Areas/01-系统启动流程/Bootloader到Init.md.bak diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index a845200..5832c0d 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -13,12 +13,12 @@ "state": { "type": "markdown", "state": { - "file": "docs/学习笔记/gerrit分支规范.md", + "file": "docs/Obsidian笔记体系/Areas/07-系统安全/密钥存储与加密.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "gerrit分支规范" + "title": "密钥存储与加密" } } ] @@ -185,10 +185,16 @@ }, "active": "f1ecba89214e3cc5", "lastOpenFiles": [ + "docs/Obsidian笔记体系/Areas/07-系统安全/漏洞案例库.md", + "docs/Obsidian笔记体系/Areas/01-系统启动流程/Launcher启动流程.md", "docs/Obsidian笔记体系/Areas/01-系统启动流程/README.md", - "docs/Obsidian笔记体系/README.md", "docs/Obsidian笔记体系/Areas/01-系统启动流程/SystemServer核心服务.md", + "docs/Obsidian笔记体系/Areas/01-系统启动流程/Zygote进程启动.md", + "docs/Obsidian笔记体系/Areas/01-系统启动流程/Bootloader到Init.md", "docs/Obsidian/2026-01-05 个人文档管理.md", + "docs/Obsidian笔记体系/Areas/01-系统启动流程/Bootloader到Init.md.bak", + "docs/学习笔记/gerrit分支规范.md", + "docs/Obsidian笔记体系/README.md", "docs/Obsidian笔记体系/MOCs/Android Framework知识体系图.md", "docs/Obsidian笔记体系/MOCs/源码阅读地图.md", "docs/Obsidian笔记体系/MOCs/高频问题索引.md", @@ -209,17 +215,11 @@ "docs/Obsidian笔记体系/Config/自定义脚本/源码链接生成器.py", "docs/Obsidian笔记体系/Config/自定义脚本/自动生成日报.js", "docs/Obsidian笔记体系/Config/主题与样式.css", - "docs/Obsidian笔记体系/Templates/源码解析模板.md", - "docs/Obsidian笔记体系/Templates/会议记录模板.md", - "docs/Obsidian笔记体系/Templates/技术方案设计模板.md", - "docs/Obsidian笔记体系/Templates/问题排查模板.md", - "docs/Obsidian笔记体系/MOCs/技能提升路线图.md", "docs/Obsidian笔记体系/Config/自定义脚本", "docs/Obsidian笔记体系/Daily/templates", "docs/Obsidian笔记体系/Archive/资源-历史会议记录", "docs/Obsidian笔记体系/Archive/领域-已废弃API研究", "docs/Obsidian笔记体系/Archive/项目-旧版ROM适配", - "docs/Obsidian笔记体系/Resources/会议与分享/内部技术分享记录", - "docs/Obsidian笔记体系/Resources/会议与分享/Android开发者峰会笔记" + "docs/Obsidian笔记体系/Resources/会议与分享/内部技术分享记录" ] } \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Areas/01-系统启动流程/Bootloader到Init.md b/docs/Obsidian笔记体系/Areas/01-系统启动流程/Bootloader到Init.md index 08028efd966704a3ac7a2679f7576980e36b2db2..e05e1f1781630c8bda510982fc0b8a427bc0ed36 100644 GIT binary patch delta 17 XcmdPUVSB%SFAz;+Qexp^;9>v(Lxu(Z delta 13 UcmdPVVEX@WBAXHmF9R0?037`TC;$Ke diff --git a/docs/Obsidian笔记体系/Areas/01-系统启动流程/Bootloader到Init.md.bak b/docs/Obsidian笔记体系/Areas/01-系统启动流程/Bootloader到Init.md.bak new file mode 100644 index 0000000000000000000000000000000000000000..08028efd966704a3ac7a2679f7576980e36b2db2 GIT binary patch literal 40 rcmezWPnki1!HFRs2um1pfMg;=3PUPG5raXHCqo`XCQy`@fr|kE(L@M& literal 0 HcmV?d00001 diff --git a/docs/Obsidian笔记体系/Areas/01-系统启动流程/Launcher启动流程.md b/docs/Obsidian笔记体系/Areas/01-系统启动流程/Launcher启动流程.md index 8d4e1899474bf533a78dedfec2fcd3fdc147d685..886c8467b4425864e4688a3afb0f791b835d1450 100644 GIT binary patch literal 40 ucmaFAfA9PKdzBd!77*ZLE81zGc5WtqvTTmWYU2!;Rv literal 52 xcmezWPnki1A%G!~A(k literal 28 jcmezWPnki1!GOVpL6^a$cS0VYA8YW!YPJ$y1}+8wbl(R8 diff --git a/docs/Obsidian笔记体系/Areas/04-资源与包管理/Resource资源加载机制.md b/docs/Obsidian笔记体系/Areas/04-资源与包管理/Resource资源加载机制.md index 754e4cde3f97ed752b6e4a295db095f212b83210..f1210a428f2a8dc6f0cc90dedfdac4995f8af59e 100644 GIT binary patch literal 29 ncmV+&0OJ26AW~&>Z*_8GW$3kp=DLvOilFGdz2=;{<%qTl-x(0M literal 38 scmezWPnki1A&4QBp_n0`p_HMBAsNVa>79_bAgH$AD%~uImw}4`0Nfi2mH+?% diff --git a/docs/Obsidian笔记体系/Areas/04-资源与包管理/动态加载与热修复原理.md b/docs/Obsidian笔记体系/Areas/04-资源与包管理/动态加载与热修复原理.md index c298c390458a3e39d75c98ef7c540a57f73f83c7..33f9a716a94b73eca944445f9cc36bc220d3366d 100644 GIT binary patch literal 33 rcmV++0N(#2Amxgv=753ailFGdz2vx#=Yy@}zpmw^jpdG?=a7a9Xjc_< literal 30 mcmezWPnki1VMP#Q!h)dMem=jq1@HWMBj*RRmGClfF#rI%0t$Hm diff --git a/docs/Obsidian笔记体系/Areas/05-进程与线程通信/AIDL与HIDL使用与原理.md b/docs/Obsidian笔记体系/Areas/05-进程与线程通信/AIDL与HIDL使用与原理.md index 3472b0e7ed487b48a4db43838b5647ccdc8beaea..0ee1e25744e56e181391c458a0581a406869e5b9 100644 GIT binary patch literal 29 hcmY#ZaP)NXd9tI=14QlJ|9r{{Am?e{{O1$exB$%h4{rbf literal 38 ocmezWPnki1!I8m}!G*zxfzQta%BuI*DCP5;AIw(5%fQ6|0I-P&A^-pY diff --git a/docs/Obsidian笔记体系/Areas/05-进程与线程通信/Binder机制(内核到Java层).md b/docs/Obsidian笔记体系/Areas/05-进程与线程通信/Binder机制(内核到Java层).md index c187095140e2e683addd90d4ffc9f0064c65423f..38657253a314ea29157972185eb09de883be802e 100644 GIT binary patch literal 37 vcmV+=0NVc}AVO(wWMy*ZoVw+Rw(q=%<%Wgkpt$9Tuu5TeVdb%c@4Sf$fiM+K literal 46 zcmezWPnki1!HFT0A&()2A(f$s!7AM>h~s~2phbp3kQYNDLm3b|#c=-TW#D1}05L%e A`~Uy| diff --git a/docs/Obsidian笔记体系/Areas/05-进程与线程通信/Handler机制源码解析.md b/docs/Obsidian笔记体系/Areas/05-进程与线程通信/Handler机制源码解析.md index 7b8405c75efe0343a6f07c6bd2e3876043f8a8da..ee1fe249e6644fab3508b764488bf698201a8222 100644 GIT binary patch literal 28 mcmV+%0OS87AV^_uWNc+}=A63ah_>dskmsO*=%=IRo{$R9&kyMU literal 36 rcmezWPnki1!Gj@@A&()2A%`KAp@_jM-7IKA9%IGh&I#$f3|tHV!7U0I diff --git a/docs/Obsidian笔记体系/Areas/05-进程与线程通信/README.md b/docs/Obsidian笔记体系/Areas/05-进程与线程通信/README.md index b11f5ad421f57e4c98b4720002acf30290a0af06..8df7e69718e2c099ef408f67252de4c468cfafce 100644 GIT binary patch literal 27 icmY#ZFfi49v48gS72QvE^gZ9TAINywFzd2;ctV4zgTdv|L+=J1}+8wdgBM! diff --git a/docs/Obsidian笔记体系/Areas/06-性能优化体系/内存优化(LeakCanary原理).md b/docs/Obsidian笔记体系/Areas/06-性能优化体系/内存优化(LeakCanary原理).md index c5ac13c49370feb84679fd11e9820c3b8a181751..d85f301b3a1550cabce3d9bf2e2895ab44f2f6d3 100644 GIT binary patch literal 37 vcmV+=0NVc}AmxUI<*k_HyqM*TmhZfXOl4tfLt$=Va(U&BpXZQ<@4Sf$l9Lqp literal 46 ycmezWPnki1p*1ifTEbr}nB%_>Ln=ceLpFmmkjw+(B8Eza`N3=@od0wMa}f(rmqkqM>% literal 24 fcmezWPnki1!GOV>L6_lo&HcL0=!`&K1}+8wX6Of9 diff --git a/docs/Obsidian笔记体系/Areas/07-系统安全/SELinux策略编写.md b/docs/Obsidian笔记体系/Areas/07-系统安全/SELinux策略编写.md index 1397d04bb72e3ae252ecc2b4d96f290029fc66a0..f1c12157dbd097c75885813d6cdf85df5485f458 100644 GIT binary patch literal 22 ecmY#Z2zK?!%qy*UzINL4sY{>lnfA18CKmv6tP6es literal 32 ncmezWPnki1A(+9H!G|G}A&;Syp@Jc-I<-`+er6yq0~Z4Tl$Ho8 diff --git a/docs/Obsidian笔记体系/Areas/07-系统安全/密钥存储与加密.md b/docs/Obsidian笔记体系/Areas/07-系统安全/密钥存储与加密.md index 3ddec4de05f9a8489e90d308ee97512ca588f4c9..e22628c9f47b8ac55482d04a7e97bc7d63c2e970 100644 GIT binary patch literal 24 fcmY#Zc)Gsr<)o!g*Uos_wBpH*zNcLafFfJ~x*rb| literal 24 gcmezWPnki1;aK$2DG|{t0{HwE1Raa!W#D1}0D(aW%m4rY diff --git a/docs/Obsidian笔记体系/Areas/07-系统安全/权限管理框架.md b/docs/Obsidian笔记体系/Areas/07-系统安全/权限管理框架.md index 0d5ba08e119067302b1ca4a82217543470454d76..9d3da276da75c15e9485870d23178f434304972b 100644 GIT binary patch literal 21 fcmV+w0P6oEAm*Ke>6wt{uA%3UhUTG$=AO0+ic}2X literal 22 dcmezWPnki1!8tu(+QMqK61R+P>AVbF3;<%q2T1?` diff --git a/docs/Obsidian笔记体系/Areas/07-系统安全/漏洞案例库.md b/docs/Obsidian笔记体系/Areas/07-系统安全/漏洞案例库.md index 3cc43cc6c41c37182dcd6bac07039a34eeeff531..c0a52fb9d62070dd6e36f1c7e602bfcb5fd8df5b 100644 GIT binary patch literal 18 acmY#Zc($ki*_L_F7Ir+@*Zp+YWG(<`1Pdhq literal 20 bcmezWPnki1fj?g^*CV6be{viz0~Z4TN@WGy diff --git a/docs/Obsidian笔记体系/Areas/08-定制化开发/README.md b/docs/Obsidian笔记体系/Areas/08-定制化开发/README.md index ce95ef22196886719fe6c9351282d57130e86c28..cbc97e81878b9d34f97d413db8da39a83e5c8ac9 100644 GIT binary patch literal 21 dcmY#ZFtE^lx^C9fj%`nSraj%$@U(v-7XWbB3t#{M literal 26 hcmezWPnki1!GOVnL6>1xv{{f?Fhl&sU|t3;1^{E6237z7 diff --git a/docs/Obsidian笔记体系/Areas/08-定制化开发/厂商定制接口规范.md b/docs/Obsidian笔记体系/Areas/08-定制化开发/厂商定制接口规范.md index 57708157e6ad509c4171c8def98b64e259b8cfbf..f65c7eb57fe8d3aadb8d97846a3a74b4615a5963 100644 GIT binary patch literal 27 lcmV+$0ObE8AmxsN<&}ozuA1eDw&sqd<&UH2r-bN?g9_*$5X}Gp literal 26 hcmezWPnki1p()rcbXK%k(9-0`!AClon|T?y7yyo03043A diff --git a/docs/Obsidian笔记体系/Areas/08-定制化开发/开机动画与OTA.md b/docs/Obsidian笔记体系/Areas/08-定制化开发/开机动画与OTA.md index 5dc157d9ec918f3704f39b207eb8f22d15d5d5c2..60b47a5307a67a7a30df64dd2f4a7a123f6a72ff 100644 GIT binary patch literal 21 dcmY#Zc)F+I*_>TZyH-4(vir%7KK~F$E&z*E31eMOLUDW9J|LkNQ-11|#?0|0K#20{P; diff --git a/docs/Obsidian笔记体系/Areas/08-定制化开发/系统属性定制.md b/docs/Obsidian笔记体系/Areas/08-定制化开发/系统属性定制.md index 9b265609b7a93cf407d3447ba57285221a0452d7..19145ec40be14b3bd67e1556e80d57c0f588f280 100644 GIT binary patch literal 21 fcmV+w0P6oEAm_8Y=ewWfv7Y9Dr{%7i<%qTllNSwj literal 22 dcmezWPnki1;djmby0{qigjvyMLA(rH3;=Nx2kHO- diff --git a/docs/Obsidian笔记体系/Areas/08-定制化开发/系统服务添加流程.md b/docs/Obsidian笔记体系/Areas/08-定制化开发/系统服务添加流程.md index f25f3ff3552d91244a662a5bbec4450006c408a8..514b61345b3b2f24723056e2b84670db2dfae87f 100644 GIT binary patch literal 27 lcmV+$0ObE8Am_8Y=ewWgoQ>s*q2{-{<%*!@wSniTiwgEY5ugA7 literal 26 icmezWPnki1;djmbI^Oh!LBDes1Ucq%SMf4%F#rIg2MQnn diff --git a/docs/Obsidian笔记体系/Areas/09-调试与工具链/ADB高级命令.md b/docs/Obsidian笔记体系/Areas/09-调试与工具链/ADB高级命令.md index eefae3c698c4f8c38a4f62e6a054bf20f77644e9..1674d74c646b36f3216553c3eac38962a90acfa2 100644 GIT binary patch literal 18 acmY#ZaCC8cxq8O)UCW~c diff --git a/docs/Obsidian笔记体系/Areas/09-调试与工具链/README.md b/docs/Obsidian笔记体系/Areas/09-调试与工具链/README.md index 6eaff733e4372051dcf4ffa176820d3797ab69b8..ac63e952148bb74d5fda0854574abee9c15bec66 100644 GIT binary patch literal 24 icmV+z0O$WBATT*C=&*z6ua)Guj^($d<%PHDlfDX^aSibR literal 28 jcmezWPnki1!GOV%L6?EK=V~{f-_zLgz<*PC8Mqh#gLeqk diff --git a/docs/Obsidian笔记体系/Areas/09-调试与工具链/Systrace_Perfetto全解读.md b/docs/Obsidian笔记体系/Areas/09-调试与工具链/Systrace_Perfetto全解读.md index cc998f916ef8fdd688d5850bb369bec3a78cd512..47c6169cfd2c8b6451e342ab6e51a19c310aa519 100644 GIT binary patch literal 29 lcmY#Z2(BzHDN0OE)elH5N=q#%$$#3q;>GgCFV^qo0syaB4XOYD literal 50 zcmezWPnki1A()|(p_rkBp@<=oA(;x7jCGH@{f0JGZ)%K!iX diff --git a/docs/Obsidian笔记体系/MOCs/技能提升路线图.md b/docs/Obsidian笔记体系/MOCs/技能提升路线图.md index abc8aa0923f1b2c0aade5ee21d7119c76a94c885..f63c2fbf9e8dd95e2550afdc1d819d9eb23a4319 100644 GIT binary patch literal 24 icmV+z0O$WBAm)mI=!3oHkC5e!hv>Jj=eob;o4yLSMh{Q` literal 24 gcmezWPnki1p&{vS!-Zt`;P<`z>;8rDGH@{f0Fn_3kpKVy diff --git a/docs/Obsidian笔记体系/Projects/项目A-系统定制化/README.md b/docs/Obsidian笔记体系/Projects/项目A-系统定制化/README.md index 3652bd510fe7f336dfcce020be807982a0576871..ed6054ed0acc9222d2d34da2f6c91b4a292d3ef7 100644 GIT binary patch literal 26 kcmV+#0OkK9AnBpG=bNrUE$6el=ewWfuA1eDw&jeL3e-;!8~^|S literal 28 kcmezWPnki1p>oE%GDikohTk>!>t;op1&IaoGH@{f0IFsQ^#A|> diff --git a/docs/Obsidian笔记体系/Projects/项目A-系统定制化/关键问题记录/2024-XX-XX-Service重启机制优化.md b/docs/Obsidian笔记体系/Projects/项目A-系统定制化/关键问题记录/2024-XX-XX-Service重启机制优化.md index 34e564d0c08c3d2d008cac3d1d7e2bfd50c579d7..e33d1e9bb47805eb9b16ffe768ba5de4e874ff09 100644 GIT binary patch literal 39 tcmY#ZFfuSQ(T#`zq2Sb_vdrYvm+iezC#-)qXV=q?ZBO>hc-k|K3jijY5{&== literal 58 zcmezWPnki1!HB^Ch)o!D86toXMg}vaG88eCF=R3%16gM$>W5gRn*~Yuiv{yCa4`S? DU~vnw diff --git a/docs/Obsidian笔记体系/Projects/项目A-系统定制化/关键问题记录/2024-XX-XX-开机动画卡顿调试.md b/docs/Obsidian笔记体系/Projects/项目A-系统定制化/关键问题记录/2024-XX-XX-开机动画卡顿调试.md index 545c18c241edead85aa5f0b26507a51f69315464..09144a3dfc06d56806f3afeec73de297a43d5772 100644 GIT binary patch literal 38 tcmY#ZFfuSQ(T#`zp{IKqp3T|yv}?ulDZ8KcE_}Ig|BDUHFV;`x0su#|6iNU9 literal 48 ucmezWPnki1!HB^Ch)o!D86toXMl!@(rLPFGE=>%spTXR7wVRiLiva)z^b2bM diff --git a/docs/Obsidian笔记体系/Projects/项目A-系统定制化/复盘与总结.md b/docs/Obsidian笔记体系/Projects/项目A-系统定制化/复盘与总结.md index 7d818c6fc1c9905b09f57ee0e328cd24bb4c7f63..34fa5fcf11411a09de049f48fd81aa089ded6cf8 100644 GIT binary patch literal 18 acmY#Zc)Fzb`Ro}_cJw`K*!_I>WG(<@j|%<( literal 20 bcmezWPnki1fj9C-8K0kZ!sR+%1}+8wPcH^k diff --git a/docs/Obsidian笔记体系/Projects/项目A-系统定制化/技术方案设计.md b/docs/Obsidian笔记体系/Projects/项目A-系统定制化/技术方案设计.md index 0924ffe3e65f552380f0027aeb36e2f9d5cd20f6..29cb2afa7e1e14fb527b1c7a168f9d21d1abbbdf 100644 GIT binary patch literal 21 fcmV+w0P6oEAm)mI=A5tQmbvDki0H1q=&qp(jCKt^ literal 22 dcmezWPnki1p&>~>eP^mi#=h=_-MkE33;=0b2onGR diff --git a/docs/Obsidian笔记体系/Projects/项目A-系统定制化/测试与验证记录.md b/docs/Obsidian笔记体系/Projects/项目A-系统定制化/测试与验证记录.md index d034e4cf099d18b0a501280e89f239e8778262e5..3361c9d75ac32842f4fba4b419cf2caad7c878f2 100644 GIT binary patch literal 24 icmV+z0O$WBAm+7;=&zOJxQ^+njOed{=&rEky_E{R+Yf#K literal 24 fcmezWPnki1!8`YAH=ke6tb^SfxM1}+8wOu+^k diff --git a/docs/Obsidian笔记体系/Projects/项目B-性能优化专项/README.md b/docs/Obsidian笔记体系/Projects/项目B-性能优化专项/README.md index c3c9709ba3d6b83ea646a9897f0f241c9430e05a..e979a3b1f749a0fce1b4961d01a8376a046ee55a 100644 GIT binary patch literal 29 lcmY#Zc)4)r^V#d1be}aWf6=`6$(|Wcd!{|vF&QY#1po!C5*7de literal 30 lcmezWPnki1p>oE%GA9OI2K9u$4HEuh!NPu(Gk6)e7yz!&34#Cs diff --git a/docs/Obsidian笔记体系/Projects/项目B-性能优化专项/工具链配置(Perfetto+Systrace).md b/docs/Obsidian笔记体系/Projects/项目B-性能优化专项/工具链配置(Perfetto+Systrace).md index fe7aaee68adad1709ea0ffa2232605cf997362a1..711119e67084b3c3c74c53a0dfce5de97a140f08 100644 GIT binary patch literal 41 zcmV+^0M`E_Amz8E<%PHDlfLPNjpx0t@4SdmWpZX^baZbkQ+acAa$#d-@4Sf$`gj&# literal 58 zcmezWPnki1;c0An;J+!p6Z7gh{s%CmG88eS0m%{|%xBPM2xh2cCcJw{#X$La60A)c6y8r+H literal 20 bcmezWPnki1;awSf2A>~$GJ6Iu0~Z4TOV0&h diff --git a/docs/Obsidian笔记体系/Projects/项目B-性能优化专项/问题追踪列表.md b/docs/Obsidian笔记体系/Projects/项目B-性能优化专项/问题追踪列表.md index 5b9d72183e3454427bd71f999fc4deeb1aba70bd..c20a69b4eca821a342742f8d820b207243fd0d39 100644 GIT binary patch literal 21 fcmV+w0P6oEAnBK`>7tnEzrEoE%GG_)|h6o^3%nA=bJFz95mw}4`0H^~AZvX%Q diff --git a/docs/Obsidian笔记体系/Projects/项目C-XX模块重构/架构设计.md b/docs/Obsidian笔记体系/Projects/项目C-XX模块重构/架构设计.md index d46ea30856dd852448f09cd847fa94ce4ef10033..33034bd9a29a52458cb60c2d286e104b05cca48f 100644 GIT binary patch literal 15 XcmY#Zcs6g_vw1Bq*6n+-ZXp){MurI+ literal 18 ZcmezWPnki1VOx4j`o8Xk-MkE33;<0G2Gsxn diff --git a/docs/Obsidian笔记体系/Projects/项目C-XX模块重构/迁移计划.md b/docs/Obsidian笔记体系/Projects/项目C-XX模块重构/迁移计划.md index 8c81f5c0a6aee2bf60ccbe4c0166afe98b53c89d..0bc94f8c9074ea86ead3e154c76187d749817a8a 100644 GIT binary patch literal 15 XcmY#Zc(K3n`SRT_)-8P6F^LNRM#~8G literal 18 ZcmezWPnki1;b8yo%7xuRLA(rH3;<6t2CM)8 diff --git a/docs/Obsidian笔记体系/Templates/会议记录模板.md b/docs/Obsidian笔记体系/Templates/会议记录模板.md index 1c260ea0a62882ac0b566664610058a29cdab31e..c93bf5b642ebab62dc73038fadc279246cf134b7 100644 GIT binary patch literal 21 fcmV+w0P6oEAmqH7=&r8luCV33mFB3S=AFL^lpPJa literal 22 dcmezWPnki1LCSw!_lEA!c*U&xbY2E71^{Hc2U-9C diff --git a/docs/Obsidian笔记体系/Templates/技术方案设计模板.md b/docs/Obsidian笔记体系/Templates/技术方案设计模板.md index 5c8e396ff1746ac3dd8129a3fa98146c30cbd33e..252a753ae30b720698df47d99f502b961d166fb9 100644 GIT binary patch literal 27 lcmV+$0ObE8Am)mI=A5tQmbvDki0H1q=&qsWsG;VazY6dA5w8FM literal 26 hcmezWPnki1p&>~>eP^mi#=h=_-HKWD>AVbF3;>cf34{Ou diff --git a/docs/Obsidian笔记体系/Templates/源码解析模板.md b/docs/Obsidian笔记体系/Templates/源码解析模板.md index 60142c26c4bae9b29a0d986dd88f7876e45a7fb3..e4703238e8c3153483d549898b6d176bccdd4624 100644 GIT binary patch literal 21 fcmV+w0P6oEAm+M|=b(Y;r=#YckmjhN=AFL^js*=p literal 22 dcmezWPnki1VL~2b#pBKi>55tP>AVbF3;<|j2crN0 diff --git a/docs/Obsidian笔记体系/Templates/问题排查模板.md b/docs/Obsidian笔记体系/Templates/问题排查模板.md index 8b316c1928318cca4f46a029fc5317fdd529d3d5..c24b115142bdcfc26c42a50a86aeb6c47e89c39c 100644 GIT binary patch literal 21 fcmV+w0P6oEAnBK`>7tnCj*{k|rRJ!i=AFL^jrI*d literal 22 ecmezWPnki1;oa03GbSZJO;^mSPv>ReVgLYmQV6{O diff --git a/docs/学习笔记/gerrit分支规范.md b/docs/学习笔记/gerrit分支规范.md index 95cddfe..c33904f 100644 --- a/docs/学习笔记/gerrit分支规范.md +++ b/docs/学习笔记/gerrit分支规范.md @@ -1,128 +1,128 @@ -推荐标准分支模型: master/main主干分支 永远保持可编译、可运行 release-* 发布分支 只合并经过验证的Change hotfix-* 紧急修复 - - -您总结的Gerrit分支创建流程非常准确和实用!以下是对您提供内容的梳理和补充,使其更加清晰系统化。 - -## Gerrit 分支管理全流程 - -### 一、权限说明(重要前提) -- **Owner/Maintainer**:有权限创建新分支 -- **Developer**:默认只能推送提交到现有分支,不能创建新分支 -- **权限配置路径**:Project → Access → Reference: refs/heads/* - -### 二、分支创建详细步骤 - -#### 1. master/main分支(主干分支) -```bash -# 如果仓库为空,需要初始化master分支 -git clone ssh://user@gerrit-ip:29418/project-name -cd project-name -git checkout -b master -# 首次推送master分支(不走Review流程) -git push origin master -``` - -#### 2. release-*分支(发布分支) -```bash -# 1. 更新master分支 -git checkout master -git pull - -# 2. 创建本地release分支 -git checkout -b release-1.0 - -# 3. 推送到Gerrit创建远程分支 -git push origin release-1.0 -# 注意:这里直接push,不是refs/for/ -``` - -#### 3. hotfix-*分支(紧急修复分支) -```bash -# 从release分支创建 -git checkout release-1.0 -git pull -git checkout -b hotfix-crash-123 -git push origin hotfix-crash-123 - -# 从master分支创建(如果未建立release分支) -git checkout master -git pull -git checkout -b hotfix-issue-456 -git push origin hotfix-issue-456 -``` - -### 三、不同分支的提交方式差异 - -| 分支类型 | 推送命令 | 是否走Review | 说明 | -|---------|---------|-------------|------| -| 创建新分支 | `git push origin 分支名` | ❌ 否 | 直接创建分支 | -| master分支提交 | `git push origin HEAD:refs/for/master` | ✅ 是 | 常规开发流程 | -| release分支提交 | `git push origin HEAD:refs/for/release-1.0` | ✅ 是 | 修复bug流程 | -| hotfix分支提交 | `git push origin HEAD:refs/for/hotfix-*` | ✅ 是 | 紧急修复流程 | - -### 四、分支合并策略 - -#### hotfix修复后的合并流程: -```bash -# 1. 修复完成后,合并到release分支 -git checkout release-1.0 -git merge --no-ff hotfix-crash-123 -git push origin HEAD:refs/for/release-1.0 - -# 2. cherry-pick到master -git checkout master -git cherry-pick -git push origin HEAD:refs/for/master -``` - -### 五、最佳实践建议 - -1. **分支命名规范**: - - feature/xxx(功能分支,从master创建) - - release/x.y.z(发布分支) - - hotfix/xxx(紧急修复) - - bugfix/xxx(普通bug修复) - -2. **权限管理**: - ```bash - # 为开发者授予特定分支创建权限(Gerrit Web界面) - # Access → Reference: refs/heads/feature/* - # 添加 Push + Create Reference 权限给特定用户组 - ``` - -3. **CI/CD集成**: - - release-* 分支:触发正式环境构建 - - hotfix-* 分支:紧急修复通道,快速验证 - - master分支:每日/持续集成 - -4. **分支保护**: - - 保护master分支:必须通过Code Review - - 保护release分支:限制直接push,需通过Review - - 定期清理过期分支 - -### 六、常见问题排查 - -1. **权限拒绝错误**: - ``` - ! [remote rejected] release-1.0 -> release-1.0 (prohibited by Gerrit) - ``` - 解决方法:联系Owner/Maintainer授予分支创建权限 - -2. **分支已存在错误**: - ```bash - # 先拉取远程分支列表 - git fetch origin - git branch -r # 查看远程分支 - ``` - -3. **使用Gerrit插件创建分支**(可选): - ```bash - # 安装git-review插件 - pip install git-review - - # 创建分支并推送到Gerrit - git review -c -b release-1.0 - ``` - -您的总结已经非常全面,这些补充主要是为了让操作流程更加清晰,便于团队协作和标准化操作。 - +推荐标准分支模型: master/main主干分支 永远保持可编译、可运行 release-* 发布分支 只合并经过验证的Change hotfix-* 紧急修复 + + +您总结的Gerrit分支创建流程非常准确和实用!以下是对您提供内容的梳理和补充,使其更加清晰系统化。 + +## Gerrit 分支管理全流程 + +### 一、权限说明(重要前提) +- **Owner/Maintainer**:有权限创建新分支 +- **Developer**:默认只能推送提交到现有分支,不能创建新分支 +- **权限配置路径**:Project → Access → Reference: refs/heads/* + +### 二、分支创建详细步骤 + +#### 1. master/main分支(主干分支) +```bash +# 如果仓库为空,需要初始化master分支 +git clone ssh://user@gerrit-ip:29418/project-name +cd project-name +git checkout -b master +# 首次推送master分支(不走Review流程) +git push origin master +``` + +#### 2. release-*分支(发布分支) +```bash +# 1. 更新master分支 +git checkout master +git pull + +# 2. 创建本地release分支 +git checkout -b release-1.0 + +# 3. 推送到Gerrit创建远程分支 +git push origin release-1.0 +# 注意:这里直接push,不是refs/for/ +``` + +#### 3. hotfix-*分支(紧急修复分支) +```bash +# 从release分支创建 +git checkout release-1.0 +git pull +git checkout -b hotfix-crash-123 +git push origin hotfix-crash-123 + +# 从master分支创建(如果未建立release分支) +git checkout master +git pull +git checkout -b hotfix-issue-456 +git push origin hotfix-issue-456 +``` + +### 三、不同分支的提交方式差异 + +| 分支类型 | 推送命令 | 是否走Review | 说明 | +|---------|---------|-------------|------| +| 创建新分支 | `git push origin 分支名` | ❌ 否 | 直接创建分支 | +| master分支提交 | `git push origin HEAD:refs/for/master` | ✅ 是 | 常规开发流程 | +| release分支提交 | `git push origin HEAD:refs/for/release-1.0` | ✅ 是 | 修复bug流程 | +| hotfix分支提交 | `git push origin HEAD:refs/for/hotfix-*` | ✅ 是 | 紧急修复流程 | + +### 四、分支合并策略 + +#### hotfix修复后的合并流程: +```bash +# 1. 修复完成后,合并到release分支 +git checkout release-1.0 +git merge --no-ff hotfix-crash-123 +git push origin HEAD:refs/for/release-1.0 + +# 2. cherry-pick到master +git checkout master +git cherry-pick +git push origin HEAD:refs/for/master +``` + +### 五、最佳实践建议 + +1. **分支命名规范**: + - feature/xxx(功能分支,从master创建) + - release/x.y.z(发布分支) + - hotfix/xxx(紧急修复) + - bugfix/xxx(普通bug修复) + +2. **权限管理**: + ```bash + # 为开发者授予特定分支创建权限(Gerrit Web界面) + # Access → Reference: refs/heads/feature/* + # 添加 Push + Create Reference 权限给特定用户组 + ``` + +3. **CI/CD集成**: + - release-* 分支:触发正式环境构建 + - hotfix-* 分支:紧急修复通道,快速验证 + - master分支:每日/持续集成 + +4. **分支保护**: + - 保护master分支:必须通过Code Review + - 保护release分支:限制直接push,需通过Review + - 定期清理过期分支 + +### 六、常见问题排查 + +1. **权限拒绝错误**: + ``` + ! [remote rejected] release-1.0 -> release-1.0 (prohibited by Gerrit) + ``` + 解决方法:联系Owner/Maintainer授予分支创建权限 + +2. **分支已存在错误**: + ```bash + # 先拉取远程分支列表 + git fetch origin + git branch -r # 查看远程分支 + ``` + +3. **使用Gerrit插件创建分支**(可选): + ```bash + # 安装git-review插件 + pip install git-review + + # 创建分支并推送到Gerrit + git review -c -b release-1.0 + ``` + +您的总结已经非常全面,这些补充主要是为了让操作流程更加清晰,便于团队协作和标准化操作。 +