一、Git功能:
1、Changes 区域:8 files
列出本次所有被修改的文件,前面图标代表文件变更类型:
- M 绿色:Modified,文件内容被修改(AndroidManifest.xml)
- 橙色圆圈:文件新增 / 修改映射类(CarBodyMappings.kt)
- 蓝色带锁图标:Kotlin 类文件修改(ViewModel、Handler 业务类)左侧方框是勾选框,只勾选的文件才会被本次提交,不勾选的改动暂不提交。
2、 顶部工具栏图标(Git 快捷操作)
从左到右:
- 刷新:同步仓库、刷新文件变更状态
- 撤销:回退选中文件的本地修改(丢弃改动)
- 分支切换:切换项目不同 Git 分支
- 下载拉取:
git pull,拉取服务器最新代码 - 眼睛:Group By(Directory和Moudle展示),Show Ignored Files是否展示忽略文件;
3、 Amend last commit(修改上一次提交)
下拉选项:
- 不勾选:新建一条全新提交记录
- 勾选 Amend last commit:覆盖、修改上一次本地 commit(适合漏改文件、写错提交备注,不用新增一条提交)⚠️ 已 Push 到 Gerrit 服务器的提交不建议随意 Amend,会导致评审记录错乱。
- Amend Commit 修改上一次的提交;
4、 底部两个按钮
- Commit仅执行本地提交,代码只保存到本机 Git,不会上传到服务器 / Gerrit;提交后还能继续改代码、Amend 修正。
- Commit and Push... 本地提交 + 直接推送到远程 Gerrit 代码评审服务器,提交后生成评审单,等待同事审核合入主干。
5、 更多按钮
1. Show on Double-Click(双击文件触发动作)
展开子菜单可以选择双击修改文件时执行的操作,可选两种模式:
Diff(当前勾选):双击文件直接打开差异对比窗口,一边是原始代码、一边是你的修改,快速看改动;Source:双击直接打开文件源码编辑页,不弹出对比窗口。
2. Configure Local Changes 子菜单
- Changelists(当前勾选,IDE 默认模式)
含义:变更列表模式 把本地修改按任务分组,可以创建多个独立变更清单,适合多需求并行开发。
- Staging Area(Git 原生暂存区模式)
含义:Git 标准 Stage 暂存模式 完全复刻命令行
git add的逻辑,分两块区域:
- 下方:未 add 的修改(Untracked Changes)
- 上方:已经 add 到暂存区、准备 commit 的文件(Staged Changes)
6、Git 设置
1. Author(提交作者)
chenenqiang <xxx.xxx@xxxcars.com>本次提交记录的作者姓名与邮箱,推送 Gerrit 评审会展示这条提交归属人,公司仓库必须配置企业邮箱,不能使用个人邮箱。
2. Sign-off commit(已勾选)
签署提交,会自动在提交消息末尾追加一行:Signed-off-by: xxx.xxx <xxx.xxx@xxxcars.com>车企 / 开源项目强制要求,代表你确认代码合规、拥有提交权限,Gerrit 代码评审平台大多校验该标识,不勾选可能无法提交入库。
7、Commit Checks(提交前自动执行校验,勾选即提交时自动运行)
1. Update copyright
- 自动更新文件头部版权年份注释,新增 / 修改文件时同步更新年份,整车项目统一版权规范。
2. Reformat code
- 提交前自动格式化代码,遵循项目 Kotlin/Java 代码风格,统一缩进、空格,避免格式类评审意见。
3. Rearrange code
- 自动重排类内成员顺序(按常量、变量、构造、函数排序),统一代码组织结构。
4. Optimize imports
- 自动清理无用 import、合并同包导入,删除冗余导包语句。
5. Cleanup
- 一键代码清理,可自定义规则(移除多余空行、废弃注释、未使用变量),点击
Choose profile切换清理规则模板。
6. Run Git hooks(已勾选)
- 执行项目仓库内置 git 钩子脚本(pre-commit),车企项目一般会在这里做:代码静态检查、编译校验、单元测试、规范校验,校验失败会直接阻断提交,保证入库代码质量。
8、Advanced Commit Checks(高级代码检查)
1. Analyze code(已勾选)
- 提交前执行全量静态代码分析,检测空指针、内存泄漏、未关闭资源、车载 Framework 违规 API 调用等代码缺陷,
Choose profile可切换检查严格等级。
2. Check TODO(已勾选)
- 扫描代码中
TODO、FIXME标记,弹窗提醒未完成临时代码,避免带待办逻辑提交上线,Configure可自定义过滤不需要拦截的 TODO 关键词。
3. Run Configuration(未勾选)
- 提交前自动执行指定运行配置(单元测试、车载应用启动调试),适合强制全量单测后再提交,耗时较长一般不常开。
4. Run advanced checks after a commit is done(已勾选)
- 高级检查在本地提交完成后执行,下方提示
Failed checks will not prevent a commit:即使代码分析、TODO 检查报错,也不会阻止本次 commit 生成,仅弹出警告;如果是Run Git hooks失败,会直接阻止提交,属于强校验。
9、分支右键Git
基础复制 / 导出
- Copy Revision Number
Ctrl+Alt+Shift+C复制当前这条提交的完整 commit 哈希 ID(Change-Id 关联的字符串),用于 Gerrit 查单、cherry-pick、日志检索。 - Create Patch... 导出
.patch补丁文件,把本次所有改动打包,离线拷贝到其他机器导入代码,跨环境同步局部修改。
提交迁移操作
- Cherry-Pick 拣选提交:把这条提交完整复制到当前分支,常用于把其他分支的修复、需求代码挪到开发分支,车载多分支迭代高频使用。
查看 / 对比
- Checkout Revision 临时切换到这条提交,查看当时代码快照,切换后修改不保存,切回分支会恢复。
- Show Repository at Revision 左侧文件树只展示该提交时刻的工程目录,纯只读浏览历史代码。
- Compare with Local 对比当前本地文件 和 这条历史提交的差异,快速查看中间所有改动。
回退 / 撤销提交(高危操作)
- Reset Current Branch to Here... 将当前分支强制重置到这条提交,后面所有提交全部丢弃;分软重置 / 混合重置 / 硬重置,已推 Gerrit 的提交严禁硬重置。
- Revert Commit 生成一条新的反向提交,抵消本条提交的改动,提交记录保留不变,适合已推送到远程 Gerrit 需要回滚上线版本。
- Undo Commit... 撤销上一次本地 commit,改动保留在本地文件,仅删除提交记录;仅限还没 push 的本地提交。
提交整理(交互式变基,Gerrit 合单常用)
- Edit Commit Message...
F2修改本条提交备注,本地未推送时可用;已推送 Gerrit 建议用amend修改。 - Fixup... 把后续小修复提交合并进本条,自动丢弃修复提交的备注,清理冗余提交记录。
- Squash Into... 多条提交压缩合并为一条,多条工单零碎改动合成单一提交,满足 Gerrit 一单一需求规范。
- Drop Commit 删除这条提交,丢弃对应所有代码改动。
- Interactively Rebase from Here... 交互式变基,批量编辑、合并、删除多条连续提交,整理干净提交记录再推送评审。
- Push All up to Here... 推送这条及之前所有提交到远程 Gerrit 仓库。
分支 / 标签创建
- New Branch...
Ctrl+Alt+N基于这条提交新建独立分支,用于拉取临时修复分支、版本分支。 - **New Tag...**给当前提交打版本标签(如 v1.0 整车版本),用于版本归档。
提交跳转
- Go to Child Commit 跳转到当前提交的子提交(下一条新提交)。
- Go to Parent Commit(当前选中) 跳转到当前提交的父提交(上一条旧提交)。
二、AS 侧边工具窗口
1. Bookmarks Alt+2 书签
给代码行打标记,快速跳转关键业务代码(比如
SceneModeService核心切换逻辑、AIDL 接口定义),大车机多文件项目定位效率极高。
2. Run Alt+4 运行面板
启动 App / 车载 IVI,展示运行日志、启动进程,管理运行配置。
3. Debug Alt+5 调试面板
断点调试、查看变量、调用栈、线程,车载 Service/Activity 调试核心窗口。
4. Structure Alt+7 结构窗口
展示当前类所有函数、变量、常量,快速跳转到
private/internal/public方法,搭配 Visibility Icons 查看权限。
5. Services Alt+8 系统服务面板
Android 系统服务、自定义 Service、车载后台进程统一管理,查看服务绑定、生命周期。
6. Profiler 性能分析器
监控 App CPU、内存、帧率、网络,排查车机内存泄漏、ANR、卡顿问题。
7. App Inspection 应用检查
实时查看 App 数据库、SharedPreferences、布局层级,调试车载本地缓存、UI 布局。
8. App Links Assistant 应用链接助手
配置 App 跳转路由、DeepLink 车载场景跳转链接。
9. Build Variants 构建变体
切换编译渠道:
dev开发 /test测试 /prod生产,车载区分调试版和正式整车包。
10. Coverage 代码覆盖率
单元测试覆盖率统计,校验 Scene 模块测试用例覆盖是否完整。
11. GitHub Copilot Multiple Code Suggestions
Copilot 多候选代码提示面板,批量查看 AI 生成的代码方案。
12. Hierarchy 类层次结构
展示类继承树,快速查看基类、子类,车载
BaseXXXHandler这类父类专用。
13. Resource Manager 资源管理器
统一预览布局、图片、字符串、尺寸资源,批量管理车载 UI 素材。
14. TODO 待办清单
汇总项目所有
TODO/FIXME注释,统一查看未完成需求、临时调试代码。
三、AS 左下边工具窗口
- 仪表盘(Profiler) 性能分析工具,监控 App CPU、内存、帧率、网络,排查车机卡顿、内存泄漏、ANR。
- 画笔 + 扳手(App Inspection) 实时查看 App 数据库、SharedPreferences、UI 布局层级,调试本地缓存与界面。
- 锤子(Build Variants) 切换编译包渠道(开发 / 测试 / 整车正式包),切换后编译对应版本安装包。
- 钻石(Hierarchy) 类继承结构窗口,查看父子类关系,梳理车载基类
BaseFunctionHandler继承链。 - GitHub 小猫(Copilot 多代码建议) AI 代码助手面板,批量查看 AI 生成的代码方案,辅助快速编写业务逻辑。
- 圆圈感叹号(TODO) 汇总项目所有
TODO/FIXME注释,统一查看未完成临时代码、待开发需求。 - 蓝色终端(Terminal,当前选中) IDE 内置命令行,执行 git、gradle、adb、脚本等命令,不用额外开 CMD。
- 双人头像(Git) 版本管理面板,管理代码修改、提交、暂存 Shelf、推送 Gerrit 评审。
四、AS 右边工具窗口
-
铃铛图标(带蓝色红点)—— Notifications 通知红点代表存在未读消息,包含插件更新、编译报错、Git 推送反馈、Gerrit 评审提醒、IDE 更新等系统通知。
-
大象图标 —— Gradle
保存你近期运行过的打包任务:
-
:app:assembleXXXdebug:编译zeekr 调试包,车载开发日常测试安装包 -
:app:assembleXXXrelease:编译zeekr 正式发布包,整车交付版本 -
文件夹 + 小猫 —— Device Manager 管理设备连接、模拟器创建、截图录屏;
- 文件夹 + 放大镜 —— Device Explorer:只专注设备内部文件读写、浏览,查看APP文件。
- 双文件夹 —— Running Devices 展示当前运行的手机画面,类似投影。