diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 844b8bb..abb2867 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -4,21 +4,21 @@ "type": "split", "children": [ { - "id": "c4fd382c8ab59125", + "id": "7853d9d78bf8acd8", "type": "tabs", "children": [ { - "id": "f1ecba89214e3cc5", + "id": "dc4c0d0c9987c7cd", "type": "leaf", "state": { "type": "markdown", "state": { - "file": "docs/cursor/cursor.md", + "file": "docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md", "mode": "source", "source": false }, "icon": "lucide-file", - "title": "cursor" + "title": "知你--调测" } } ] @@ -183,43 +183,43 @@ "bases:创建新数据库": false } }, - "active": "5b497a77c6d68c73", + "active": "dc4c0d0c9987c7cd", "lastOpenFiles": [ - "docs/gerrit/gerrit提交代码时遇到钩子问题的解决办法.md", - "docs/gerrit/gerrit分支规范.md", - "docs/gerrit/gerrit上传代码详细指南.md", - "docs/gerrit", - "gerrit/gerrit分支规范.md", - "gerrit/gerrit上传代码详细指南.md", - "docs/学习笔记/gerrit上传代码详细指南.md", - "gerrit/gerrit提交代码时遇到钩子问题的解决办法.md", - "gerrit", - "docs/Obsidian/高频命令.md", - "docs/Obsidian/欢迎.md", "docs/Obsidian/2026-01-05 个人文档管理.md", - "docs/renjiabo/hello.md", - "更新部署脚本/部署脚本使用说明.md", + "docs/Obsidian/资源网站.md", + "docs/Obsidian/高频命令.md", + "docs/cursor/cursor.md", + "docs/Obsidian/重要笔记.md", + "docs/dify/作为安卓高级开发工程师,除了项目管理,你完全可以在技术专项、团队效能和个人成长三大领域构建更懂你的专属助手.md", + "docs/dify/使用dify,可以生成一个专项事务助手吗,比如公司正规化事务助手.md", + "docs/Obsidian笔记体系/Projects/saars开发/数据库配置.md", + "docs/git/git常用命令.md", + "docs/git/hello.md", + "docs/学习笔记/前端学习.md", + "docs/git/test.md", + "docs/学习笔记/效率提升.md", + "docs/gerrit/生成并配置SSH密钥、克隆仓库.md", + "docs/git/git设置用户名和邮箱.md", + "docs/学习笔记/个人全自动研发体系.md", + "docs/学习笔记/DevOps学习.md", + "docs/git/git同步远程分支总结.md", + "docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md", + "docs/学习笔记/honor工作资料.md", + "docs/学习笔记/提交代码时候的钩子.md", + "docs/Obsidian笔记体系/Projects/知你-调测", + "docs/Obsidian笔记体系/Resources/工具/脚本库/README.md", + "docs/Obsidian笔记体系/Resources/工具/效率工具推荐/README.md", + "docs/Obsidian笔记体系/Resources/会议与分享/内部技术分享记录/代码评审模板示例.md", + "docs/Obsidian笔记体系/Daily/2026-01-13.md", + "docs/Obsidian笔记体系/Projects/项目A-系统定制化/测试与验证记录.md", + "docs/gerrit", + "gerrit", "更新部署脚本/deploy.sh", "更新部署脚本/deploy.py", "更新部署脚本/deploy.ps1", "更新部署脚本/deploy_config.json", "更新部署脚本", "新建文件夹", - "部署脚本使用说明.md", - "deploy.py", - "deploy_config.json", - "docs/index.md", - "文档完善提示词模板.md", - "使用说明.md", - "test_lifecycle.md", - "docs/Obsidian笔记体系/MOCs/源码阅读地图.md", - "docs/Obsidian笔记体系/Daily/templates/每日模板.md", - "个人笔记体系.md", - "docs/Obsidian笔记体系/Archive/资源-历史会议记录/2023年会议记录示例.md", - "docs/Obsidian笔记体系/Archive/领域-已废弃API研究/已废弃API-旧版Activity启动方式.md", - "docs/Obsidian笔记体系/Archive/项目-旧版ROM适配/项目A-旧版ROM适配-README.md", - "docs/Obsidian笔记体系/Archive/领域-已废弃API研究/README.md", - "docs/Obsidian笔记体系/Archive/项目-旧版ROM适配/README.md", - "docs/Obsidian笔记体系/Archive/资源-历史会议记录/README.md" + "deploy.py" ] } \ No newline at end of file diff --git a/docs/Obsidian笔记体系/Daily/2026-01-13.md b/docs/Obsidian笔记体系/Daily/2026-01-13.md new file mode 100644 index 0000000..904f9d2 --- /dev/null +++ b/docs/Obsidian笔记体系/Daily/2026-01-13.md @@ -0,0 +1,132 @@ +## 基本信息 +- **日期**: 2026-01-13 +- **星期**: 星期二 +- **天气**: 晴 +- **心情**: 良好 + +## 今日计划 + +### 工作安排 +- [ ] 从正式环境切换到开发环境 +- [ ] 知你--会员功能 +- [ ] 任务3 + +### 学习计划 +- [ ] 学习内容1 +- [ ] 学习内容2 + +### 其他计划 +- [ ] 其他事项1 + +## 工作记录 + +### 已完成 +- ✅ 从正式环境切换到开发环境 + - 时间: HH:MM - HH:MM + - 内容: http://101.43.95.130:8082/c/zhini_im/+/104 + - 收获: + +- ✅ 完成事项2 + - 时间: HH:MM - HH:MM + - 内容: 详细描述 + - 收获: + +### 进行中 +- 🔄 进行中事项1 + - 开始时间: HH:MM + - 当前进度: + - 遇到的问题: + - 下一步计划: + +### 待处理 +- ⏳ 待处理事项1 + - 计划时间: HH:MM + - 优先级: 高/中/低 + +## 学习记录 + +### 技术学习 +- **学习内容**: +- **学习时间**: HH:MM - HH:MM +- **学习方式**: 阅读/实践/视频 +- **关键收获**: +- **相关链接**: [[相关文档]] + +### 源码阅读 +- **阅读模块**: +- **阅读时间**: HH:MM - HH:MM +- **关键理解**: +- **疑问**: +- **相关链接**: [[相关源码]] + +### 问题解决 +- **问题描述**: +- **解决过程**: +- **解决方案**: +- **经验总结**: +- **相关链接**: [[相关文档]] + +## 会议记录 + +### 会议1 +- **时间**: HH:MM - HH:MM +- **主题**: +- **参与人**: +- **关键内容**: +- **行动项**: +- **相关链接**: [[会议记录]] + +## 思考与总结 + +### 今日收获 +1. 收获1 +2. 收获2 +3. 收获3 + +### 今日反思 +- 做得好的地方: +- 需要改进的地方: +- 改进计划: + +### 明日计划 +1. 计划1 +2. 计划2 +3. 计划3 + +## 技术笔记 + +### 技术点1 +- **内容**: +- **代码示例**: +```java +// 代码示例 +``` + +- **关键理解**: +- **相关链接**: [[相关文档]] + +### 技术点2 +- **内容**: +- **关键理解**: + +## 问题与疑问 + +### 问题1 +- **问题描述**: +- **思考**: +- **待解决**: + +### 问题2 +- **问题描述**: +- **思考**: + +## 相关链接 + +- [[相关项目]] +- [[相关文档]] +- [[相关笔记]] + +## 备注 + +- 备注1 +- 备注2 diff --git a/docs/Obsidian/saars开发/aitsc维护命令.md b/docs/Obsidian笔记体系/Projects/saars开发/aitsc维护命令.md similarity index 100% rename from docs/Obsidian/saars开发/aitsc维护命令.md rename to docs/Obsidian笔记体系/Projects/saars开发/aitsc维护命令.md diff --git a/docs/Obsidian/saars开发/互联网saar系统是什么,可以解决哪些场景需求的问题.md b/docs/Obsidian笔记体系/Projects/saars开发/互联网saar系统是什么,可以解决哪些场景需求的问题.md similarity index 100% rename from docs/Obsidian/saars开发/互联网saar系统是什么,可以解决哪些场景需求的问题.md rename to docs/Obsidian笔记体系/Projects/saars开发/互联网saar系统是什么,可以解决哪些场景需求的问题.md diff --git a/docs/Obsidian/saars开发/数据库配置.md b/docs/Obsidian笔记体系/Projects/saars开发/数据库配置.md similarity index 100% rename from docs/Obsidian/saars开发/数据库配置.md rename to docs/Obsidian笔记体系/Projects/saars开发/数据库配置.md diff --git a/docs/Obsidian/saars开发/营养师/健康营养师分析数据.md b/docs/Obsidian笔记体系/Projects/saars开发/营养师/健康营养师分析数据.md similarity index 100% rename from docs/Obsidian/saars开发/营养师/健康营养师分析数据.md rename to docs/Obsidian笔记体系/Projects/saars开发/营养师/健康营养师分析数据.md diff --git a/docs/Obsidian/saars开发/营养师/营养师分析数据.md b/docs/Obsidian笔记体系/Projects/saars开发/营养师/营养师分析数据.md similarity index 100% rename from docs/Obsidian/saars开发/营养师/营养师分析数据.md rename to docs/Obsidian笔记体系/Projects/saars开发/营养师/营养师分析数据.md diff --git a/docs/Obsidian/重要笔记.md b/docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md similarity index 52% rename from docs/Obsidian/重要笔记.md rename to docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md index 5b7b51f..4b0fad4 100644 --- a/docs/Obsidian/重要笔记.md +++ b/docs/Obsidian笔记体系/Projects/知你-调测/知你--调测.md @@ -1,60 +1,15 @@ -gitlab.md.hihonor.com/w00013566/mdmdemo +# 测试账户 +18792702169 验证码 1122 - -1.查看用户 adb shell pm list users -2.adb shell getprop ro.product.model如何使用adb命令查看手机版本号 -3.adb shell getprop ro.soc.model查看手机型号 -4.fastboot界面查询手机型号 fastboot getvar deicemodel -5.fastboot下重启 fastboot reboot -android 获取当前页面的 activity adb shell "dumpsys window | grep mCurrentFocus" - -18792702169 -https://getui.com/notification-push -https://www.jiguang.cn/push?source=bdAd&plan=1&unit=480&keyword=24261&bd_vid=6437844800464191042 - +# 应用签名 C:\Users\86181\AppData\Local\Android\Sdk\build-tools\35.0.0 签名会用到下面这个apksigner.bat文件 签名: apksigner sign --ks design.jks app-debug.apk 检验签名:apksigner verify -v --print-certs app-debug.apk apksigner verify -v --print-certs app-release.apk - -https://www.pgyer.com/zhini-android - - -pmo 开发经理,负责协调交付。 -规划 对接客户需求 -se 需求转化为设计方案 -开发 编码开发 -测试 编写测试用例,回归验证 -cmo 编译版本 - -一 需求背景 -二 功能概述 -三 竞品分析 -四 设计方案 -五 工作量评估 - - - - -pkill -f "cursor-server" - - - -通过网络连接设备(无需USB): -adb tcpip 5555 # 将设备切换至TCP/IP模式,在5555端口监听[citation:8][citation:10] -adb connect 192.168.1.100:5555 # 在电脑上连接设备IP[citation:8][citation:10] -adb connect 192.168.172.236:5555 - - - - - - - -知你的签名信息 +# 知你的签名信息 C:\Users\86181\AppData\Local\Android\Sdk\build-tools\35.0.0>apksigner verify -v --print-certs app-release.apk Verifies Verified using v1 scheme (JAR signing): false @@ -73,6 +28,4 @@ Signer #1 key size (bits): 2048 Signer #1 public key SHA-256 digest: e458cad386b422c6941e0420b611257cb0426c82e719095c3dbd9d9ffb7a90dc Signer #1 public key SHA-1 digest: d3c0988b1a336e326683db4a258459031491b46a Signer #1 public key MD5 digest: 8ef05aa185908c1fc19a4bea27427b24 -C:\Users\86181\AppData\Local\Android\Sdk\build-tools\35.0.0> - - +C:\Users\86181\AppData\Local\Android\Sdk\build-tools\35.0.0> \ No newline at end of file diff --git a/docs/Obsidian/adb调试命令/adb常用命令.md b/docs/adb调试命令/adb常用命令.md similarity index 100% rename from docs/Obsidian/adb调试命令/adb常用命令.md rename to docs/adb调试命令/adb常用命令.md diff --git a/docs/Obsidian/adb调试命令/常用linux命令.md b/docs/adb调试命令/常用linux命令.md similarity index 100% rename from docs/Obsidian/adb调试命令/常用linux命令.md rename to docs/adb调试命令/常用linux命令.md diff --git a/docs/cursor/cursor.md b/docs/cursor/cursor.md index 219750f..e402f92 100644 --- a/docs/cursor/cursor.md +++ b/docs/cursor/cursor.md @@ -1,5 +1,8 @@ curse 网站续费 https://cursor.com/cn/dashboard +pkill -f "cursor-server" + + 联通大王卡号:13022988679 公司电信卡号:17392826953 QQ号:3145431252 密码:renjianbo0118 邮箱:3145431252@qq.com 密码:renjianbo0118 网易邮箱17392826953@163.com !renjianbo1219 diff --git a/docs/Obsidian/dify/作为安卓高级开发工程师,除了项目管理,你完全可以在技术专项、团队效能和个人成长三大领域构建更懂你的专属助手.md b/docs/dify/作为安卓高级开发工程师,除了项目管理,你完全可以在技术专项、团队效能和个人成长三大领域构建更懂你的专属助手.md similarity index 100% rename from docs/Obsidian/dify/作为安卓高级开发工程师,除了项目管理,你完全可以在技术专项、团队效能和个人成长三大领域构建更懂你的专属助手.md rename to docs/dify/作为安卓高级开发工程师,除了项目管理,你完全可以在技术专项、团队效能和个人成长三大领域构建更懂你的专属助手.md diff --git a/docs/Obsidian/dify/使用dify,可以生成一个专项事务助手吗,比如公司正规化事务助手.md b/docs/dify/使用dify,可以生成一个专项事务助手吗,比如公司正规化事务助手.md similarity index 100% rename from docs/Obsidian/dify/使用dify,可以生成一个专项事务助手吗,比如公司正规化事务助手.md rename to docs/dify/使用dify,可以生成一个专项事务助手吗,比如公司正规化事务助手.md diff --git a/docs/学习笔记/生成并配置SSH密钥、克隆仓库.md b/docs/gerrit/生成并配置SSH密钥、克隆仓库.md similarity index 96% rename from docs/学习笔记/生成并配置SSH密钥、克隆仓库.md rename to docs/gerrit/生成并配置SSH密钥、克隆仓库.md index 2055050..adc8b1d 100644 --- a/docs/学习笔记/生成并配置SSH密钥、克隆仓库.md +++ b/docs/gerrit/生成并配置SSH密钥、克隆仓库.md @@ -1,133 +1,133 @@ -你的操作指南非常详细和准确!我帮你重新整理了一个更清晰的流程,并修复了流程图的语法: - -## 完整操作流程 - -### **第一步:生成SSH密钥(在新电脑上)** - -```bash -# 1. 生成SSH密钥(使用ed25519算法,更安全) -ssh-keygen -t ed25519 -C "renjianbo@example.com" - -# 按提示操作: -# - 直接回车使用默认路径 (~/.ssh/id_ed25519) -# - 可以设置密码(可选) -# - 再次确认密码 - -# 2. 查看公钥并复制 -cat ~/.ssh/id_ed25519.pub -``` -**输出示例:** -``` -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJL...你的公钥内容... renjianbo@example.com -``` - -### **第二步:添加公钥到Gerrit账户** - -1. 登录 Gerrit:`http://101.43.95.130:8080/` -2. 点击右上角 **renjianbo** → **Settings** → **SSH Keys** -3. 点击 **Add Key** 按钮 -4. 粘贴复制的公钥内容,保存 - -### **第三步:克隆项目** - -#### **方式A:SSH协议(推荐)** -```bash -# 使用你的用户名 renjianbo -git clone ssh://renjianbo@101.43.95.130:29418/zhini_im -``` - -#### **方式B:HTTP协议(备用)** -```bash -git clone http://101.43.95.130:8080/zhini_im -# 可能需要输入用户名密码 -``` - -### **第四步:验证和配置** - -```bash -# 1. 进入项目目录 -cd zhini_im - -# 2. 查看远程仓库地址 -git remote -v -# 应该显示类似:origin ssh://renjianbo@101.43.95.130:29418/zhini_im - -# 3. 配置用户信息(重要!) -git config user.name "renjianbo" -git config user.email "renjianbo@example.com" # 使用你的Gerrit注册邮箱 - -# 4. 可选:验证SSH连接 -ssh -p 29418 renjianbo@101.43.95.130 -# 如果看到 Gerrit 欢迎信息,说明连接成功 -``` - -## **操作流程图** - -```mermaid -flowchart TD - Start[开始] --> GenKey[生成SSH密钥
ssh-keygen] - GenKey --> CopyKey[复制公钥
cat ~/.ssh/id_ed25519.pub] - CopyKey --> LoginGerrit[登录Gerrit网页] - LoginGerrit --> AddKey[添加公钥到SSH Keys] - - AddKey --> ChooseMethod{选择克隆方式} - ChooseMethod --> SSH[SSH协议
git clone ssh://renjianbo@...] - ChooseMethod --> HTTP[HTTP协议
git clone http://...] - - SSH --> Verify[进入目录验证] - HTTP --> Verify - Verify --> Config[配置用户信息] - Config --> Done[完成] -``` - -## **常见问题解决** - -### **1. SSH连接被拒绝** -```bash -# 测试SSH连接 -ssh -p 29418 -T renjianbo@101.43.95.130 - -# 如果提示"Permission denied",检查: -# - 公钥是否正确添加到Gerrit -# - 用户名是否正确(不是admin,是renjianbo) -# - 是否有仓库访问权限 -``` - -### **2. 首次连接需要确认主机** -``` -The authenticity of host '[101.43.95.130]:29418' can't be established. -ECDSA key fingerprint is SHA256:xxx... -Are you sure you want to continue connecting (yes/no/[fingerprint])? -``` -**输入:** `yes` - -### **3. 端口被阻挡** -- 检查防火墙是否允许29418端口 -- 在公司网络可能需要配置代理 - -### **4. 克隆速度慢** -```bash -# 可以尝试浅克隆(只获取最新版本) -git clone --depth 1 ssh://renjianbo@101.43.95.130:29418/zhini_im -``` - -## **快捷脚本** -创建一键克隆脚本 `clone_zhini_im.sh`: -```bash -#!/bin/bash -# 克隆智拟IM项目 -echo "正在克隆智拟IM项目..." -git clone ssh://renjianbo@101.43.95.130:29418/zhini_im -cd zhini_im -git config user.name "renjianbo" -git config user.email "renjianbo@example.com" -echo "克隆完成!" -``` - -执行: -```bash -chmod +x clone_zhini_im.sh -./clone_zhini_im.sh -``` - +你的操作指南非常详细和准确!我帮你重新整理了一个更清晰的流程,并修复了流程图的语法: + +## 完整操作流程 + +### **第一步:生成SSH密钥(在新电脑上)** + +```bash +# 1. 生成SSH密钥(使用ed25519算法,更安全) +ssh-keygen -t ed25519 -C "renjianbo@example.com" + +# 按提示操作: +# - 直接回车使用默认路径 (~/.ssh/id_ed25519) +# - 可以设置密码(可选) +# - 再次确认密码 + +# 2. 查看公钥并复制 +cat ~/.ssh/id_ed25519.pub +``` +**输出示例:** +``` +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJL...你的公钥内容... renjianbo@example.com +``` + +### **第二步:添加公钥到Gerrit账户** + +1. 登录 Gerrit:`http://101.43.95.130:8080/` +2. 点击右上角 **renjianbo** → **Settings** → **SSH Keys** +3. 点击 **Add Key** 按钮 +4. 粘贴复制的公钥内容,保存 + +### **第三步:克隆项目** + +#### **方式A:SSH协议(推荐)** +```bash +# 使用你的用户名 renjianbo +git clone ssh://renjianbo@101.43.95.130:29418/zhini_im +``` + +#### **方式B:HTTP协议(备用)** +```bash +git clone http://101.43.95.130:8080/zhini_im +# 可能需要输入用户名密码 +``` + +### **第四步:验证和配置** + +```bash +# 1. 进入项目目录 +cd zhini_im + +# 2. 查看远程仓库地址 +git remote -v +# 应该显示类似:origin ssh://renjianbo@101.43.95.130:29418/zhini_im + +# 3. 配置用户信息(重要!) +git config user.name "renjianbo" +git config user.email "renjianbo@example.com" # 使用你的Gerrit注册邮箱 + +# 4. 可选:验证SSH连接 +ssh -p 29418 renjianbo@101.43.95.130 +# 如果看到 Gerrit 欢迎信息,说明连接成功 +``` + +## **操作流程图** + +```mermaid +flowchart TD + Start[开始] --> GenKey[生成SSH密钥
ssh-keygen] + GenKey --> CopyKey[复制公钥
cat ~/.ssh/id_ed25519.pub] + CopyKey --> LoginGerrit[登录Gerrit网页] + LoginGerrit --> AddKey[添加公钥到SSH Keys] + + AddKey --> ChooseMethod{选择克隆方式} + ChooseMethod --> SSH[SSH协议
git clone ssh://renjianbo@...] + ChooseMethod --> HTTP[HTTP协议
git clone http://...] + + SSH --> Verify[进入目录验证] + HTTP --> Verify + Verify --> Config[配置用户信息] + Config --> Done[完成] +``` + +## **常见问题解决** + +### **1. SSH连接被拒绝** +```bash +# 测试SSH连接 +ssh -p 29418 -T renjianbo@101.43.95.130 + +# 如果提示"Permission denied",检查: +# - 公钥是否正确添加到Gerrit +# - 用户名是否正确(不是admin,是renjianbo) +# - 是否有仓库访问权限 +``` + +### **2. 首次连接需要确认主机** +``` +The authenticity of host '[101.43.95.130]:29418' can't be established. +ECDSA key fingerprint is SHA256:xxx... +Are you sure you want to continue connecting (yes/no/[fingerprint])? +``` +**输入:** `yes` + +### **3. 端口被阻挡** +- 检查防火墙是否允许29418端口 +- 在公司网络可能需要配置代理 + +### **4. 克隆速度慢** +```bash +# 可以尝试浅克隆(只获取最新版本) +git clone --depth 1 ssh://renjianbo@101.43.95.130:29418/zhini_im +``` + +## **快捷脚本** +创建一键克隆脚本 `clone_zhini_im.sh`: +```bash +#!/bin/bash +# 克隆智拟IM项目 +echo "正在克隆智拟IM项目..." +git clone ssh://renjianbo@101.43.95.130:29418/zhini_im +cd zhini_im +git config user.name "renjianbo" +git config user.email "renjianbo@example.com" +echo "克隆完成!" +``` + +执行: +```bash +chmod +x clone_zhini_im.sh +./clone_zhini_im.sh +``` + 按照这个流程操作,你应该能成功将项目拉到新电脑。如果遇到具体错误,可以把错误信息发给我,我会帮你诊断解决。 \ No newline at end of file diff --git a/docs/Obsidian/git/Git add . 后如何撤销.md b/docs/git/Git add . 后如何撤销.md similarity index 100% rename from docs/Obsidian/git/Git add . 后如何撤销.md rename to docs/git/Git add . 后如何撤销.md diff --git a/docs/学习笔记/git同步远程分支总结.md b/docs/git/git同步远程分支总结.md similarity index 96% rename from docs/学习笔记/git同步远程分支总结.md rename to docs/git/git同步远程分支总结.md index 263753e..ed07f40 100644 --- a/docs/学习笔记/git同步远程分支总结.md +++ b/docs/git/git同步远程分支总结.md @@ -1,276 +1,276 @@ -非常全面的同步远程分支指南!我来帮你整理几个最实用的方案,并提供更清晰的分类: - -## 📋 **最常用的分支同步方案** - -### **方案一:基础同步(最常用)** -```bash -# 1. 获取所有远程更新并清理已删除分支 -git fetch --all --prune - -# 2. 查看所有分支 -git branch -a - -# 3. 切换到特定分支并同步 -git checkout 分支名 -git pull origin 分支名 -``` - -### **方案二:一键同步所有分支到本地** -```bash -# 推荐的安全版本 -git fetch --all --prune -for branch in $(git branch -r | grep -v '\->' | grep -v 'HEAD'); do - local_branch=${branch#origin/} - if ! git show-ref --quiet refs/heads/"$local_branch"; then - echo "📦 创建分支: $local_branch" - git branch --track "$local_branch" "$branch" - fi -done -``` - -## 🔧 **实用脚本整理** - -### **脚本1:智能同步脚本 (sync-branches.sh)** -```bash -#!/bin/bash -# 智能同步所有远程分支 - -echo "🔄 开始同步分支..." - -# 1. 获取所有远程更新 -git fetch --all --prune - -# 2. 同步主要分支 -main_branch="" -if git show-ref --verify --quiet refs/remotes/origin/main; then - main_branch="main" -elif git show-ref --verify --quiet refs/remotes/origin/master; then - main_branch="master" -fi - -if [ -n "$main_branch" ]; then - echo "📌 更新主分支: $main_branch" - git checkout $main_branch 2>/dev/null || git checkout -b $main_branch origin/$main_branch - git pull origin $main_branch -fi - -# 3. 创建本地不存在的远程分支 -echo "📦 同步其他分支..." -git branch -r | grep -v '\->' | grep -v 'HEAD' | while read remote; do - local_branch=${remote#origin/} - - # 跳过已经存在的分支 - if git show-ref --verify --quiet refs/heads/"$local_branch"; then - echo " ✓ 已存在: $local_branch" - continue - fi - - # 创建跟踪分支 - echo " ➕ 创建: $local_branch" - git branch --track "$local_branch" "$remote" 2>/dev/null -done - -# 4. 检查是否需要更新现有分支 -echo "🔄 检查本地分支更新..." -current_branch=$(git branch --show-current) -git branch --format='%(refname:short)' | while read branch; do - if [ "$branch" != "$current_branch" ]; then - git checkout "$branch" >/dev/null 2>&1 - if [ $? -eq 0 ]; then - git pull origin "$branch" --ff-only >/dev/null 2>&1 - echo " ⬆️ 已更新: $branch" - fi - fi -done - -# 5. 返回原分支 -git checkout "$current_branch" >/dev/null 2>&1 - -echo "✅ 同步完成!" -echo "📊 分支统计:" -git branch -a | grep -c "remotes/origin" | xargs echo "远程分支数: " -git branch | wc -l | xargs echo "本地分支数: " -``` - -### **脚本2:快速切换和同步 (git-sync)** -```bash -#!/bin/bash -# 快速切换到指定分支并同步 -if [ $# -eq 0 ]; then - echo "用法: git-sync 分支名" - exit 1 -fi - -BRANCH=$1 - -echo "🔄 切换到分支: $BRANCH" - -# 检查分支是否存在 -if git show-ref --verify --quiet refs/heads/"$BRANCH"; then - # 本地分支存在 - git checkout "$BRANCH" - git pull origin "$BRANCH" -elif git show-ref --verify --quiet refs/remotes/origin/"$BRANCH"; then - # 远程分支存在,创建本地跟踪分支 - git checkout -b "$BRANCH" origin/"$BRANCH" -else - echo "❌ 错误: 分支 $BRANCH 不存在" - echo "可用的远程分支:" - git branch -r | grep -v '\->' | sed 's/origin\///' | sort | uniq - exit 1 -fi - -echo "✅ 完成!当前分支: $(git branch --show-current)" -``` - -## ⚙️ **Git 配置别名(推荐)** - -添加到 `~/.gitconfig` 的 `[alias]` 部分: - -```ini -[alias] - # 同步所有分支 - sync-all = "!f() { \ - echo '🔄 获取远程更新...'; \ - git fetch --all --prune; \ - echo '📦 创建本地分支...'; \ - git branch -r | grep -v '\\->' | grep -v 'HEAD' | while read remote; do \ - local=${remote#origin/}; \ - if ! git show-ref --quiet refs/heads/\"$local\"; then \ - echo \" ➕ $local\"; \ - git branch --track \"$local\" \"$remote\" 2>/dev/null; \ - fi; \ - done; \ - echo '✅ 同步完成!'; \ - }; f" - - # 更新当前仓库所有分支 - update-all = "!f() { \ - current=$(git branch --show-current); \ - for branch in $(git branch --format='%(refname:short)'); do \ - if [ \"$branch\" != \"$current\" ]; then \ - git checkout \"$branch\" 2>/dev/null && git pull origin \"$branch\" 2>/dev/null; \ - fi; \ - done; \ - git checkout \"$current\"; \ - echo '✅ 所有分支已更新!'; \ - }; f" - - # 查看分支树状图 - tree = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all - - # 清理已合并的分支 - clean-branches = "!f() { \ - git fetch --all --prune; \ - git branch --merged main | grep -v '^\\* main$' | xargs -n 1 git branch -d; \ - echo '🧹 已清理合并到main的分支'; \ - }; f" -``` - -使用别名: -```bash -git sync-all # 同步所有远程分支到本地 -git update-all # 更新所有本地分支 -git tree # 查看分支树状图 -git clean-branches # 清理已合并的分支 -``` - -## 🎯 **针对不同场景的推荐方案** - -### **场景1:新电脑初次同步** -```bash -# 1. 克隆仓库 -git clone ssh://renjianbo@101.43.95.130:29418/zhini_im - -# 2. 进入目录并同步所有分支 -cd zhini_im -git sync-all # 使用上面配置的别名 -``` - -### **场景2:日常更新** -```bash -# 推荐的工作流程 -git status # 1. 查看状态 -git stash # 2. 暂存未提交的修改(可选) -git fetch --all --prune # 3. 获取最新状态 -git checkout main # 4. 切换到主分支 -git pull --rebase origin main # 5. 更新主分支 -git checkout 你的分支 # 6. 切回你的分支 -git rebase main # 7. 基于最新main重定基 -git stash pop # 8. 恢复暂存的修改 -``` - -### **场景3:清理分支** -```bash -# 查看哪些分支已经合并到main -git branch --merged main - -# 删除已合并的分支(除了当前分支和main) -git branch --merged main | grep -v "main" | xargs git branch -d - -# 强制删除未合并的分支 -git branch -D 分支名 - -# 删除远程分支(谨慎操作) -git push origin --delete 分支名 -``` - -## 📊 **分支管理最佳实践** - -### **分支命名规范** -``` -feature/ # 新功能 -bugfix/ # 修复bug -hotfix/ # 紧急修复 -release/ # 发布分支 -``` - -### **常用命令速查** -```bash -# 查看分支关系 -git log --graph --oneline --all - -# 查看远程分支的最后提交 -git for-each-ref --sort=-committerdate refs/remotes/origin/ --format='%(refname:short) - %(committerdate:short)' - -# 查看分支差异 -git diff main..你的分支 # 比较差异 -git log main..你的分支 # 查看提交记录差异 - -# 重命名分支 -git branch -m 旧名字 新名字 # 本地重命名 -git push origin :旧名字 # 删除远程旧分支 -git push origin 新名字 # 推送新分支 -git push origin -u 新名字 # 设置上游分支 -``` - -## 🚨 **注意事项** - -1. **备份重要修改**:同步前先提交或暂存工作 -2. **小心 force push**:避免使用 `--force`,用 `--force-with-lease` 更安全 -3. **定期清理**:删除已合并的本地分支,保持仓库整洁 -4. **沟通协调**:多人协作时,删除远程分支前要确认 - -## 🎪 **一个命令完成所有同步** - -终极简化版: -```bash -# 创建 ~/bin/git-full-sync 文件 -#!/bin/bash -cd /path/to/your/project -git stash -git fetch --all --prune -git checkout main && git pull origin main -git sync-all # 使用别名 -git stash pop -echo "✅ 全量同步完成!" - -# 添加执行权限 -chmod +x ~/bin/git-full-sync - -# 使用 -cd 你的项目 -git-full-sync -``` - +非常全面的同步远程分支指南!我来帮你整理几个最实用的方案,并提供更清晰的分类: + +## 📋 **最常用的分支同步方案** + +### **方案一:基础同步(最常用)** +```bash +# 1. 获取所有远程更新并清理已删除分支 +git fetch --all --prune + +# 2. 查看所有分支 +git branch -a + +# 3. 切换到特定分支并同步 +git checkout 分支名 +git pull origin 分支名 +``` + +### **方案二:一键同步所有分支到本地** +```bash +# 推荐的安全版本 +git fetch --all --prune +for branch in $(git branch -r | grep -v '\->' | grep -v 'HEAD'); do + local_branch=${branch#origin/} + if ! git show-ref --quiet refs/heads/"$local_branch"; then + echo "📦 创建分支: $local_branch" + git branch --track "$local_branch" "$branch" + fi +done +``` + +## 🔧 **实用脚本整理** + +### **脚本1:智能同步脚本 (sync-branches.sh)** +```bash +#!/bin/bash +# 智能同步所有远程分支 + +echo "🔄 开始同步分支..." + +# 1. 获取所有远程更新 +git fetch --all --prune + +# 2. 同步主要分支 +main_branch="" +if git show-ref --verify --quiet refs/remotes/origin/main; then + main_branch="main" +elif git show-ref --verify --quiet refs/remotes/origin/master; then + main_branch="master" +fi + +if [ -n "$main_branch" ]; then + echo "📌 更新主分支: $main_branch" + git checkout $main_branch 2>/dev/null || git checkout -b $main_branch origin/$main_branch + git pull origin $main_branch +fi + +# 3. 创建本地不存在的远程分支 +echo "📦 同步其他分支..." +git branch -r | grep -v '\->' | grep -v 'HEAD' | while read remote; do + local_branch=${remote#origin/} + + # 跳过已经存在的分支 + if git show-ref --verify --quiet refs/heads/"$local_branch"; then + echo " ✓ 已存在: $local_branch" + continue + fi + + # 创建跟踪分支 + echo " ➕ 创建: $local_branch" + git branch --track "$local_branch" "$remote" 2>/dev/null +done + +# 4. 检查是否需要更新现有分支 +echo "🔄 检查本地分支更新..." +current_branch=$(git branch --show-current) +git branch --format='%(refname:short)' | while read branch; do + if [ "$branch" != "$current_branch" ]; then + git checkout "$branch" >/dev/null 2>&1 + if [ $? -eq 0 ]; then + git pull origin "$branch" --ff-only >/dev/null 2>&1 + echo " ⬆️ 已更新: $branch" + fi + fi +done + +# 5. 返回原分支 +git checkout "$current_branch" >/dev/null 2>&1 + +echo "✅ 同步完成!" +echo "📊 分支统计:" +git branch -a | grep -c "remotes/origin" | xargs echo "远程分支数: " +git branch | wc -l | xargs echo "本地分支数: " +``` + +### **脚本2:快速切换和同步 (git-sync)** +```bash +#!/bin/bash +# 快速切换到指定分支并同步 +if [ $# -eq 0 ]; then + echo "用法: git-sync 分支名" + exit 1 +fi + +BRANCH=$1 + +echo "🔄 切换到分支: $BRANCH" + +# 检查分支是否存在 +if git show-ref --verify --quiet refs/heads/"$BRANCH"; then + # 本地分支存在 + git checkout "$BRANCH" + git pull origin "$BRANCH" +elif git show-ref --verify --quiet refs/remotes/origin/"$BRANCH"; then + # 远程分支存在,创建本地跟踪分支 + git checkout -b "$BRANCH" origin/"$BRANCH" +else + echo "❌ 错误: 分支 $BRANCH 不存在" + echo "可用的远程分支:" + git branch -r | grep -v '\->' | sed 's/origin\///' | sort | uniq + exit 1 +fi + +echo "✅ 完成!当前分支: $(git branch --show-current)" +``` + +## ⚙️ **Git 配置别名(推荐)** + +添加到 `~/.gitconfig` 的 `[alias]` 部分: + +```ini +[alias] + # 同步所有分支 + sync-all = "!f() { \ + echo '🔄 获取远程更新...'; \ + git fetch --all --prune; \ + echo '📦 创建本地分支...'; \ + git branch -r | grep -v '\\->' | grep -v 'HEAD' | while read remote; do \ + local=${remote#origin/}; \ + if ! git show-ref --quiet refs/heads/\"$local\"; then \ + echo \" ➕ $local\"; \ + git branch --track \"$local\" \"$remote\" 2>/dev/null; \ + fi; \ + done; \ + echo '✅ 同步完成!'; \ + }; f" + + # 更新当前仓库所有分支 + update-all = "!f() { \ + current=$(git branch --show-current); \ + for branch in $(git branch --format='%(refname:short)'); do \ + if [ \"$branch\" != \"$current\" ]; then \ + git checkout \"$branch\" 2>/dev/null && git pull origin \"$branch\" 2>/dev/null; \ + fi; \ + done; \ + git checkout \"$current\"; \ + echo '✅ 所有分支已更新!'; \ + }; f" + + # 查看分支树状图 + tree = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all + + # 清理已合并的分支 + clean-branches = "!f() { \ + git fetch --all --prune; \ + git branch --merged main | grep -v '^\\* main$' | xargs -n 1 git branch -d; \ + echo '🧹 已清理合并到main的分支'; \ + }; f" +``` + +使用别名: +```bash +git sync-all # 同步所有远程分支到本地 +git update-all # 更新所有本地分支 +git tree # 查看分支树状图 +git clean-branches # 清理已合并的分支 +``` + +## 🎯 **针对不同场景的推荐方案** + +### **场景1:新电脑初次同步** +```bash +# 1. 克隆仓库 +git clone ssh://renjianbo@101.43.95.130:29418/zhini_im + +# 2. 进入目录并同步所有分支 +cd zhini_im +git sync-all # 使用上面配置的别名 +``` + +### **场景2:日常更新** +```bash +# 推荐的工作流程 +git status # 1. 查看状态 +git stash # 2. 暂存未提交的修改(可选) +git fetch --all --prune # 3. 获取最新状态 +git checkout main # 4. 切换到主分支 +git pull --rebase origin main # 5. 更新主分支 +git checkout 你的分支 # 6. 切回你的分支 +git rebase main # 7. 基于最新main重定基 +git stash pop # 8. 恢复暂存的修改 +``` + +### **场景3:清理分支** +```bash +# 查看哪些分支已经合并到main +git branch --merged main + +# 删除已合并的分支(除了当前分支和main) +git branch --merged main | grep -v "main" | xargs git branch -d + +# 强制删除未合并的分支 +git branch -D 分支名 + +# 删除远程分支(谨慎操作) +git push origin --delete 分支名 +``` + +## 📊 **分支管理最佳实践** + +### **分支命名规范** +``` +feature/ # 新功能 +bugfix/ # 修复bug +hotfix/ # 紧急修复 +release/ # 发布分支 +``` + +### **常用命令速查** +```bash +# 查看分支关系 +git log --graph --oneline --all + +# 查看远程分支的最后提交 +git for-each-ref --sort=-committerdate refs/remotes/origin/ --format='%(refname:short) - %(committerdate:short)' + +# 查看分支差异 +git diff main..你的分支 # 比较差异 +git log main..你的分支 # 查看提交记录差异 + +# 重命名分支 +git branch -m 旧名字 新名字 # 本地重命名 +git push origin :旧名字 # 删除远程旧分支 +git push origin 新名字 # 推送新分支 +git push origin -u 新名字 # 设置上游分支 +``` + +## 🚨 **注意事项** + +1. **备份重要修改**:同步前先提交或暂存工作 +2. **小心 force push**:避免使用 `--force`,用 `--force-with-lease` 更安全 +3. **定期清理**:删除已合并的本地分支,保持仓库整洁 +4. **沟通协调**:多人协作时,删除远程分支前要确认 + +## 🎪 **一个命令完成所有同步** + +终极简化版: +```bash +# 创建 ~/bin/git-full-sync 文件 +#!/bin/bash +cd /path/to/your/project +git stash +git fetch --all --prune +git checkout main && git pull origin main +git sync-all # 使用别名 +git stash pop +echo "✅ 全量同步完成!" + +# 添加执行权限 +chmod +x ~/bin/git-full-sync + +# 使用 +cd 你的项目 +git-full-sync +``` + 这些方案覆盖了大部分使用场景,根据你的具体需求选择合适的方法即可。最常用的是方案一的基础同步,配合别名可以极大提高效率。 \ No newline at end of file diff --git a/docs/Obsidian/git/git常用命令.md b/docs/git/git常用命令.md similarity index 100% rename from docs/Obsidian/git/git常用命令.md rename to docs/git/git常用命令.md diff --git a/docs/学习笔记/git设置用户名和邮箱.md b/docs/git/git设置用户名和邮箱.md similarity index 96% rename from docs/学习笔记/git设置用户名和邮箱.md rename to docs/git/git设置用户名和邮箱.md index ccbd349..210b9fa 100644 --- a/docs/学习笔记/git设置用户名和邮箱.md +++ b/docs/git/git设置用户名和邮箱.md @@ -1,18 +1,18 @@ -配置用户名和邮箱(如果还没配置) -git config --global user.name "Your Name" git config --global user.email "your.email@example.com" - -查看用户名 -git config user.name - -查看邮箱 -git config user.email - -查看远程仓库地址 -git config remote.origin.url - -设置远程仓库地址 -git remote set-url origin ssh://renjianbo@101.43.95.130:29419/zhini_im_android - - -git remote set-url origin ssh://renjianbo@101.43.95.130:29419/zhini_im_android +配置用户名和邮箱(如果还没配置) +git config --global user.name "Your Name" git config --global user.email "your.email@example.com" + +查看用户名 +git config user.name + +查看邮箱 +git config user.email + +查看远程仓库地址 +git config remote.origin.url + +设置远程仓库地址 +git remote set-url origin ssh://renjianbo@101.43.95.130:29419/zhini_im_android + + +git remote set-url origin ssh://renjianbo@101.43.95.130:29419/zhini_im_android git remote set-url origin http://101.43.95.130:3001/admin/fuzhu.git \ No newline at end of file diff --git a/docs/renjiabo/hello.md b/docs/git/hello.md similarity index 100% rename from docs/renjiabo/hello.md rename to docs/git/hello.md diff --git a/docs/renjiabo/test.md b/docs/renjiabo/test.md deleted file mode 100644 index b6fc4c6..0000000 --- a/docs/renjiabo/test.md +++ /dev/null @@ -1 +0,0 @@ -hello \ No newline at end of file diff --git a/docs/学习笔记/DevOps学习.md b/docs/学习笔记/DevOps学习.md index 1cb4889..1b276ec 100644 --- a/docs/学习笔记/DevOps学习.md +++ b/docs/学习笔记/DevOps学习.md @@ -1,68 +1,68 @@ -# DevOps 学习笔记 - -## 概念 - -### CI/CD - -- **CI (Continuous Integration)**: 持续集成 - - 自动构建 - - 自动测试 - - 代码质量检查 - -- **CD (Continuous Deployment)**: 持续部署 - - 自动部署 - - 环境管理 - - 回滚机制 - -## 工具链 - -### 版本控制 - -- **Git**: 分布式版本控制系统 -- **Gerrit**: 代码审查工具 -- **Gitea**: Git 服务 - -### CI/CD - -- **Drone**: 基于容器的 CI/CD 平台 -- **Jenkins**: 流行的 CI/CD 工具 -- **GitLab CI**: GitLab 内置 CI/CD - -### 容器化 - -- **Docker**: 容器化平台 -- **Docker Compose**: 多容器编排 -- **Kubernetes**: 容器编排平台 - -### 监控和日志 - -- **Grafana**: 监控可视化 -- **Loki**: 日志聚合 -- **Prometheus**: 监控和告警 - -## 最佳实践 - -### 代码管理 - -1. 使用分支策略(Git Flow) -2. 代码审查(Code Review) -3. 提交信息规范(Conventional Commits) - -### 自动化 - -1. 自动化测试 -2. 自动化构建 -3. 自动化部署 - -### 监控 - -1. 应用监控 -2. 日志收集 -3. 告警机制 - -## 学习资源 - -- [DevOps 实践指南](https://www.devops-handbook.com/) -- [Docker 官方文档](https://docs.docker.com/) -- [Kubernetes 官方文档](https://kubernetes.io/docs/) - +# DevOps 学习笔记 + +## 概念 + +### CI/CD + +- **CI (Continuous Integration)**: 持续集成 + - 自动构建 + - 自动测试 + - 代码质量检查 + +- **CD (Continuous Deployment)**: 持续部署 + - 自动部署 + - 环境管理 + - 回滚机制 + +## 工具链 + +### 版本控制 + +- **Git**: 分布式版本控制系统 +- **Gerrit**: 代码审查工具 +- **Gitea**: Git 服务 + +### CI/CD + +- **Drone**: 基于容器的 CI/CD 平台 +- **Jenkins**: 流行的 CI/CD 工具 +- **GitLab CI**: GitLab 内置 CI/CD + +### 容器化 + +- **Docker**: 容器化平台 +- **Docker Compose**: 多容器编排 +- **Kubernetes**: 容器编排平台 + +### 监控和日志 + +- **Grafana**: 监控可视化 +- **Loki**: 日志聚合 +- **Prometheus**: 监控和告警 + +## 最佳实践 + +### 代码管理 + +1. 使用分支策略(Git Flow) +2. 代码审查(Code Review) +3. 提交信息规范(Conventional Commits) + +### 自动化 + +1. 自动化测试 +2. 自动化构建 +3. 自动化部署 + +### 监控 + +1. 应用监控 +2. 日志收集 +3. 告警机制 + +## 学习资源 + +- [DevOps 实践指南](https://www.devops-handbook.com/) +- [Docker 官方文档](https://docs.docker.com/) +- [Kubernetes 官方文档](https://kubernetes.io/docs/) + diff --git a/docs/学习笔记/honor工作资料.md b/docs/学习笔记/honor工作资料.md new file mode 100644 index 0000000..2350362 --- /dev/null +++ b/docs/学习笔记/honor工作资料.md @@ -0,0 +1,37 @@ +gitlab.md.hihonor.com/w00013566/mdmdemo + + +1.查看用户 adb shell pm list users +2.adb shell getprop ro.product.model如何使用adb命令查看手机版本号 +3.adb shell getprop ro.soc.model查看手机型号 +4.fastboot界面查询手机型号 fastboot getvar deicemodel +5.fastboot下重启 fastboot reboot +android 获取当前页面的 activity adb shell "dumpsys window | grep mCurrentFocus" + + + +pmo 开发经理,负责协调交付。 +规划 对接客户需求 +se 需求转化为设计方案 +开发 编码开发 +测试 编写测试用例,回归验证 +cmo 编译版本 + +一 需求背景 +二 功能概述 +三 竞品分析 +四 设计方案 +五 工作量评估 + + + + + + + + + + + + + diff --git a/docs/学习笔记/个人全自动研发体系.md b/docs/学习笔记/个人全自动研发体系.md index 07b878e..a2705ee 100644 --- a/docs/学习笔记/个人全自动研发体系.md +++ b/docs/学习笔记/个人全自动研发体系.md @@ -1,66 +1,66 @@ -Drone+Gerrit进化个人超级DevOps平台 - -必备(强烈推荐): -Gitea(Git+Wiki+项目管理) -MinIO(构建产物存储/APK仓库) -Nexus(Gradle依赖加速) -可选(增强体验) -Sentry(移动App崩溃监控) -Grafana+Loki(日志监控) -MkDocs(个人知识库) - - -Drone+Gerrit+全套工具 -请为我生成一份完整的一键部署(install_all.sh),脚本必须在Linux服务器(Ubuntu/Debian/CentOS均可)上可直接执行,用于自动安装以下组件并确保可用: -核心组件 -1.Drone CI Server -2.Drone Docker Runner -3.Gerrit(轻量版,自用环境) -4.Gitea(Git托管+Wiki+Issue) -辅助增强组件 -5.Nexus(Maven/Gradle依赖缓存) -6.MinIO(APK、构建产物、日志存储) -7、Sentry(APP崩溃收集平台,自托管版本) -8.Loki+Promtail+Grafana(日志与监控系统) -9.Android SDK +Gradle缓存(用于Drone Runner 构建Android项目) -脚本功能要求 -自动安装Docker(如未安装) -自动生成并输出共享DRONE_RPC_SECRET -自动创建所有数据目录(如/var/lib/drone、/opt/android-sdk等) -每个组件必须使用Docker容器部署 -每个组件的容器必须包含: -自动重启策略 -端口映射(合理默认) -数据卷持久化 -组件之间自动配置集成: -Drone正确连接Runner -Gerrit 支持Webhook触发Drone -Nexus用于Gradle缓存 -MinIO用于Drone构建产物上传 -Android SDK自动安装内容: -build-tools -platform-tools -platforms(如android-34) -自动接受所有许可证 -脚本执行结束时输出信息: -各服务器访问地址 -初始账号与密码(如Gerrit、Gitea) -Drone登录底子好 -MinIO密钥 -Nexus登录方式 -Grafana初始化登录账号 -Android SDK与Gradle缓存路径 -.drone.yml示例(Android 项目构建模板) -脚本要求 -必须是完整的Bash脚本,保持即可执行 -所有命令必须真实可运行 -具有容错能力(重复运行不会报错) -不能使用虚构镜像或不存在的命令 -输出必须清晰友好 -可直接用在个人或者小团队的DevOps\自动化环境 -请根据以上要求生成最终的install_all.sh一键部署脚本。 - - - - - +Drone+Gerrit进化个人超级DevOps平台 + +必备(强烈推荐): +Gitea(Git+Wiki+项目管理) +MinIO(构建产物存储/APK仓库) +Nexus(Gradle依赖加速) +可选(增强体验) +Sentry(移动App崩溃监控) +Grafana+Loki(日志监控) +MkDocs(个人知识库) + + +Drone+Gerrit+全套工具 +请为我生成一份完整的一键部署(install_all.sh),脚本必须在Linux服务器(Ubuntu/Debian/CentOS均可)上可直接执行,用于自动安装以下组件并确保可用: +核心组件 +1.Drone CI Server +2.Drone Docker Runner +3.Gerrit(轻量版,自用环境) +4.Gitea(Git托管+Wiki+Issue) +辅助增强组件 +5.Nexus(Maven/Gradle依赖缓存) +6.MinIO(APK、构建产物、日志存储) +7、Sentry(APP崩溃收集平台,自托管版本) +8.Loki+Promtail+Grafana(日志与监控系统) +9.Android SDK +Gradle缓存(用于Drone Runner 构建Android项目) +脚本功能要求 +自动安装Docker(如未安装) +自动生成并输出共享DRONE_RPC_SECRET +自动创建所有数据目录(如/var/lib/drone、/opt/android-sdk等) +每个组件必须使用Docker容器部署 +每个组件的容器必须包含: +自动重启策略 +端口映射(合理默认) +数据卷持久化 +组件之间自动配置集成: +Drone正确连接Runner +Gerrit 支持Webhook触发Drone +Nexus用于Gradle缓存 +MinIO用于Drone构建产物上传 +Android SDK自动安装内容: +build-tools +platform-tools +platforms(如android-34) +自动接受所有许可证 +脚本执行结束时输出信息: +各服务器访问地址 +初始账号与密码(如Gerrit、Gitea) +Drone登录底子好 +MinIO密钥 +Nexus登录方式 +Grafana初始化登录账号 +Android SDK与Gradle缓存路径 +.drone.yml示例(Android 项目构建模板) +脚本要求 +必须是完整的Bash脚本,保持即可执行 +所有命令必须真实可运行 +具有容错能力(重复运行不会报错) +不能使用虚构镜像或不存在的命令 +输出必须清晰友好 +可直接用在个人或者小团队的DevOps\自动化环境 +请根据以上要求生成最终的install_all.sh一键部署脚本。 + + + + + diff --git a/docs/学习笔记/前端学习.md b/docs/学习笔记/前端学习.md index 69033ea..8edaabe 100644 --- a/docs/学习笔记/前端学习.md +++ b/docs/学习笔记/前端学习.md @@ -1,119 +1,119 @@ -# 前端学习笔记 - -## HTML - -### 基本结构 - -```html - - - - 页面标题 - - -

标题

-

段落内容

- - -``` - -## CSS - -### 样式定义 - -```css -.container { - width: 100%; - max-width: 1200px; - margin: 0 auto; - padding: 20px; -} - -.button { - background-color: #007bff; - color: white; - padding: 10px 20px; - border: none; - border-radius: 4px; - cursor: pointer; -} -``` - -## JavaScript - -### 基础语法 - -```javascript -// 变量 -let name = "JavaScript"; -const age = 25; - -// 函数 -function greet(name) { - return `Hello, ${name}!`; -} - -// 箭头函数 -const greet = (name) => `Hello, ${name}!`; - -// 异步函数 -async function fetchData() { - const response = await fetch('/api/data'); - const data = await response.json(); - return data; -} -``` - -## 框架和库 - -### React - -```jsx -import React, { useState } from 'react'; - -function App() { - const [count, setCount] = useState(0); - - return ( -
-

计数: {count}

- -
- ); -} -``` - -### Vue - -```vue - - - -``` - -## 学习资源 - -- [MDN Web 文档](https://developer.mozilla.org/) -- [React 官方文档](https://react.dev/) -- [Vue 官方文档](https://cn.vuejs.org/) - +# 前端学习笔记 + +## HTML + +### 基本结构 + +```html + + + + 页面标题 + + +

标题

+

段落内容

+ + +``` + +## CSS + +### 样式定义 + +```css +.container { + width: 100%; + max-width: 1200px; + margin: 0 auto; + padding: 20px; +} + +.button { + background-color: #007bff; + color: white; + padding: 10px 20px; + border: none; + border-radius: 4px; + cursor: pointer; +} +``` + +## JavaScript + +### 基础语法 + +```javascript +// 变量 +let name = "JavaScript"; +const age = 25; + +// 函数 +function greet(name) { + return `Hello, ${name}!`; +} + +// 箭头函数 +const greet = (name) => `Hello, ${name}!`; + +// 异步函数 +async function fetchData() { + const response = await fetch('/api/data'); + const data = await response.json(); + return data; +} +``` + +## 框架和库 + +### React + +```jsx +import React, { useState } from 'react'; + +function App() { + const [count, setCount] = useState(0); + + return ( +
+

计数: {count}

+ +
+ ); +} +``` + +### Vue + +```vue + + + +``` + +## 学习资源 + +- [MDN Web 文档](https://developer.mozilla.org/) +- [React 官方文档](https://react.dev/) +- [Vue 官方文档](https://cn.vuejs.org/) + diff --git a/docs/学习笔记/提交代码时候的钩子.md b/docs/学习笔记/提交代码时候的钩子.md deleted file mode 100644 index 9ba2991..0000000 --- a/docs/学习笔记/提交代码时候的钩子.md +++ /dev/null @@ -1,19 +0,0 @@ -# 1. 确保在正确的分支 -git branch - -# 2. 安装钩子 -curl -o .git/hooks/commit-msg http://101.43.95.130:8082/tools/hooks/commit-msg -chmod +x .git/hooks/commit-msg - -# 3. 重置到提交前状态(如果需要) -git reset HEAD~1 --soft -git commit -m "你的提交信息" - -# 4. 或者修改现有的提交 -git commit --amend --no-edit - -# 5. 查看提交信息确认 -git log -1 - -# 6. 推送 -git push origin HEAD:refs/for/master \ No newline at end of file diff --git a/docs/学习笔记/效率提升.md b/docs/学习笔记/效率提升.md index 260d0d3..1687568 100644 --- a/docs/学习笔记/效率提升.md +++ b/docs/学习笔记/效率提升.md @@ -1,132 +1,132 @@ -一、代码与项目管理(和Gerrit配套最好) -1.Git+Gerrit -作用:强制Code Review -保证代码质量和可追踪性 -避免主干污染 -适合:个人、小团队、要求质量的项目 -2、GitLab\Gitea\GitHub(代码管理与协作) -对于个人团队: -GitLab自建:全功能 -Gitea:轻量,非常适合小团队 -GitHub私有仓库:方便、无需维护 -用途:代码托管 -Issue、Wiki -CI\CD可用 -3、CI\CD(自动构建、自动测试、自动发包) -工具: -JenkinsGitHub Actions -GitLab CI -Drone CI(特别适合小团队,轻量快) -提交后代码自动编译 -自动跑单元测试 -自动产出APK\IPA -自动上传测试平台(蒲公英、Firebase APP Distribution) - - - -二、文档与知识沉淀工具(避免重复造轮子最关键) -4、Obsidian(强烈推荐) -本地Markdown知识库,没有云依赖,非常适合个人开发者: -写模块文档 -写支付\登录模块的复用说明 -写踩坑记录 -写Gerrit Change链接 -写长期可复用的解决方案 -你会逐渐形成自己的“开发者知识体系” -5、Notion\飞书文档\Confluence -适合个人+小团队共享知识: -需求文档 -接口文档 -模块说明 -复用组件库 - -三、自动化重复任务(真正省时间) -6.脚手架\项目模板(Project Template) -比如新建Android应用时,你可以准备一个“基础项目模板”: -网络模块 -日志模块 -支付模块 -基础UI -项目结构 -常用工具类 -新项目启动直接复制,一次就省两三天。 -7、自动生成代码的工具 - -四、模块化\组件化(适合Android开发者) -8、组件库\Library复用 -payment-sdk -login-sdk -analytics-sdk -file-sdk -所有项目implementation一行即可用。 -这能节省你未来80%重复开发时间。 - - -五、任务管理(保证效率和可控性) -9、看板工具 -Jira(偏重,但专业) -飞书多维表格 -Trello(轻量) -GitHub Projects(集成度高) - -目的:清晰知道每天\每周做什么 -避免遗漏 -时间成本更可控 - -六、团队协作 -10、IM+自动通知 -飞书机器人推送构建结构 -Jenkins推送评审通知 -Git提交通知 -任务完成自动通知 -减少来回沟通时间。 - - -七、质量保证工具 -11.SonarQube(代码质量扫描) -适合个人+小团队: -代码规范问题 -未使用的变量 -潜在bug -安全漏洞 -让你能不断改进代码质量,避免踩坑。 -12、单元测试+UI自动化 -即便你不追求100%覆盖率,有一些基础自动化脚本也能帮你减少重复测试时间。 - - -八、知识+代码AI化(效率爆炸提升) -13、AI辅助开发 -GPT生成代码 -GPT总结文档 -GPT作为“个人知识库索引” - -最推荐给个人\小团队的最好(无废话方案) -Gerrit(代码评审) -CI\CD(自动构建、上传apk) -Obsidian+Notion(知识管理+文档) -Library模块化复用(避免重复造轮子) -项目模板(脚手架) -AI辅助开发+总结文档 -Trello\飞书看板(任务管理) - -个人或小团队提升开发效率,最重要的是: -代码可复用、流程自动化、知识不重复、协作轻量化。 - - -常用adb命令 -com.xunpaisoft.social -查看特定应用的进程 -adb shell ps | grep com.xunpaisoft.social - -android 获取当前页面的 activity adb shell "dumpsys window | grep mCurrentFocus" - -18792702169 -XZ003311 - - -git config --global user.name "renjianbo" -git config --global user.email "18691577328@qq.com" - -ssh-keygen -t ed25519 -C "18691577328@qq.com" - - +一、代码与项目管理(和Gerrit配套最好) +1.Git+Gerrit +作用:强制Code Review +保证代码质量和可追踪性 +避免主干污染 +适合:个人、小团队、要求质量的项目 +2、GitLab\Gitea\GitHub(代码管理与协作) +对于个人团队: +GitLab自建:全功能 +Gitea:轻量,非常适合小团队 +GitHub私有仓库:方便、无需维护 +用途:代码托管 +Issue、Wiki +CI\CD可用 +3、CI\CD(自动构建、自动测试、自动发包) +工具: +JenkinsGitHub Actions +GitLab CI +Drone CI(特别适合小团队,轻量快) +提交后代码自动编译 +自动跑单元测试 +自动产出APK\IPA +自动上传测试平台(蒲公英、Firebase APP Distribution) + + + +二、文档与知识沉淀工具(避免重复造轮子最关键) +4、Obsidian(强烈推荐) +本地Markdown知识库,没有云依赖,非常适合个人开发者: +写模块文档 +写支付\登录模块的复用说明 +写踩坑记录 +写Gerrit Change链接 +写长期可复用的解决方案 +你会逐渐形成自己的“开发者知识体系” +5、Notion\飞书文档\Confluence +适合个人+小团队共享知识: +需求文档 +接口文档 +模块说明 +复用组件库 + +三、自动化重复任务(真正省时间) +6.脚手架\项目模板(Project Template) +比如新建Android应用时,你可以准备一个“基础项目模板”: +网络模块 +日志模块 +支付模块 +基础UI +项目结构 +常用工具类 +新项目启动直接复制,一次就省两三天。 +7、自动生成代码的工具 + +四、模块化\组件化(适合Android开发者) +8、组件库\Library复用 +payment-sdk +login-sdk +analytics-sdk +file-sdk +所有项目implementation一行即可用。 +这能节省你未来80%重复开发时间。 + + +五、任务管理(保证效率和可控性) +9、看板工具 +Jira(偏重,但专业) +飞书多维表格 +Trello(轻量) +GitHub Projects(集成度高) + +目的:清晰知道每天\每周做什么 +避免遗漏 +时间成本更可控 + +六、团队协作 +10、IM+自动通知 +飞书机器人推送构建结构 +Jenkins推送评审通知 +Git提交通知 +任务完成自动通知 +减少来回沟通时间。 + + +七、质量保证工具 +11.SonarQube(代码质量扫描) +适合个人+小团队: +代码规范问题 +未使用的变量 +潜在bug +安全漏洞 +让你能不断改进代码质量,避免踩坑。 +12、单元测试+UI自动化 +即便你不追求100%覆盖率,有一些基础自动化脚本也能帮你减少重复测试时间。 + + +八、知识+代码AI化(效率爆炸提升) +13、AI辅助开发 +GPT生成代码 +GPT总结文档 +GPT作为“个人知识库索引” + +最推荐给个人\小团队的最好(无废话方案) +Gerrit(代码评审) +CI\CD(自动构建、上传apk) +Obsidian+Notion(知识管理+文档) +Library模块化复用(避免重复造轮子) +项目模板(脚手架) +AI辅助开发+总结文档 +Trello\飞书看板(任务管理) + +个人或小团队提升开发效率,最重要的是: +代码可复用、流程自动化、知识不重复、协作轻量化。 + + +常用adb命令 +com.xunpaisoft.social +查看特定应用的进程 +adb shell ps | grep com.xunpaisoft.social + +android 获取当前页面的 activity adb shell "dumpsys window | grep mCurrentFocus" + +18792702169 +XZ003311 + + +git config --global user.name "renjianbo" +git config --global user.email "18691577328@qq.com" + +ssh-keygen -t ed25519 -C "18691577328@qq.com" + + diff --git a/docs/学习笔记/重要.md b/docs/学习笔记/重要.md deleted file mode 100644 index 2253101..0000000 --- a/docs/学习笔记/重要.md +++ /dev/null @@ -1,84 +0,0 @@ -gitlab.md.hihonor.com/w00013566/mdmdemo - - - -1.查看用户 adb shell pm list users -2.adb shell getprop ro.product.model如何使用adb命令查看手机版本号 -3.adb shell getprop ro.soc.model查看手机型号 -4.fastboot界面查询手机型号 fastboot getvar deicemodel -5.fastboot下重启 fastboot reboot -android 获取当前页面的 activity adb shell "dumpsys window | grep mCurrentFocus" - -18792702169 -https://getui.com/notification-push -https://www.jiguang.cn/push?source=bdAd&plan=1&unit=480&keyword=24261&bd_vid=6437844800464191042 - -C:\Users\86181\AppData\Local\Android\Sdk\build-tools\35.0.0 -签名会用到下面这个apksigner.bat文件 -签名: apksigner sign --ks design.jks app-debug.apk -检验签名:apksigner verify -v --print-certs app-debug.apk -apksigner verify -v --print-certs app-release.apk - - -https://www.pgyer.com/zhini-android - - -pmo 开发经理,负责协调交付。 -规划 对接客户需求 -se 需求转化为设计方案 -开发 编码开发 -测试 编写测试用例,回归验证 -cmo 编译版本 - -一 需求背景 -二 功能概述 -三 竞品分析 -四 设计方案 -五 工作量评估 - - - - -pkill -f "cursor-server" - - - -通过网络连接设备(无需USB): -adb tcpip 5555 # 将设备切换至TCP/IP模式,在5555端口监听[citation:8][citation:10] -adb connect 192.168.1.100:5555 # 在电脑上连接设备IP[citation:8][citation:10] -adb connect 192.168.172.236:5555 - - - - - - - -知你的签名信息 -C:\Users\86181\AppData\Local\Android\Sdk\build-tools\35.0.0>apksigner verify -v --print-certs app-release.apk -Verifies -Verified using v1 scheme (JAR signing): false -Verified using v2 scheme (APK Signature Scheme v2): true -Verified using v3 scheme (APK Signature Scheme v3): false -Verified using v3.1 scheme (APK Signature Scheme v3.1): false -Verified using v4 scheme (APK Signature Scheme v4): false -Verified for SourceStamp: false -Number of signers: 1 -Signer #1 certificate DN: C=86, ST=shaanxi, L=xi'an, O=xunpaisoft.com, OU=xunpaisoft, CN=pai xun -Signer #1 certificate SHA-256 digest: 9017939b7cda5c41482a8baaeae587cd9025525ac30b9644293a1e4bc8f6b825 -Signer #1 certificate SHA-1 digest: 89b591ea7a4a9947c13fba0d607ba7d041102cf4 -Signer #1 certificate MD5 digest: 10bc581409188dd39ed38bad24353be7 -Signer #1 key algorithm: RSA -Signer #1 key size (bits): 2048 -Signer #1 public key SHA-256 digest: e458cad386b422c6941e0420b611257cb0426c82e719095c3dbd9d9ffb7a90dc -Signer #1 public key SHA-1 digest: d3c0988b1a336e326683db4a258459031491b46a -Signer #1 public key MD5 digest: 8ef05aa185908c1fc19a4bea27427b24 -C:\Users\86181\AppData\Local\Android\Sdk\build-tools\35.0.0> - - - - - -方案名称aaaaa方案CodeFC220000012470029接入端AndroidAPP名称ceshi签名- -包名com.aliqin.mytel包签名47fcc6615485e83b4100433ec9a1d278 -移动同步成功联通同步成功电信同步成功 \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 2eb179e..05fbe21 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -72,6 +72,7 @@ nav: - 学习笔记/个人全自动研发体系.md - 学习笔记/效率提升.md - 学习笔记/重要.md + - 学习笔记/honor工作资料.md - Obsidian笔记: - Obsidian/2026-01-05 个人文档管理.md - Obsidian/高频命令.md @@ -195,10 +196,30 @@ nav: - Obsidian笔记体系/Resources/论文/移动操作系统前沿/README.md - Obsidian笔记体系/Resources/论文/移动操作系统前沿/移动系统安全研究.md - Obsidian笔记体系/Resources/论文/移动操作系统前沿/移动边缘计算研究.md + - Obsidian笔记体系/Daily/2026-01-13.md + - Obsidian笔记体系/Projects/saars开发/aitsc维护命令.md + - Obsidian笔记体系/Projects/saars开发/互联网saar系统是什么,可以解决哪些场景需求的问题.md + - Obsidian笔记体系/Projects/saars开发/数据库配置.md + - Obsidian笔记体系/Projects/saars开发/营养师/健康营养师分析数据.md + - Obsidian笔记体系/Projects/saars开发/营养师/营养师分析数据.md + - Obsidian笔记体系/Projects/知你-调测/知你--调测.md - gerrit: - gerrit/gerrit上传代码详细指南.md - gerrit/gerrit分支规范.md - gerrit/gerrit提交代码时遇到钩子问题的解决办法.md + - gerrit/生成并配置SSH密钥、克隆仓库.md +- adb调试命令: + - adb调试命令/adb常用命令.md + - adb调试命令/常用linux命令.md +- dify: + - dify/作为安卓高级开发工程师,除了项目管理,你完全可以在技术专项、团队效能和个人成长三大领域构建更懂你的专属助手.md + - dify/使用dify,可以生成一个专项事务助手吗,比如公司正规化事务助手.md +- git: + - git/Git add . 后如何撤销.md + - git/git同步远程分支总结.md + - git/git常用命令.md + - git/git设置用户名和邮箱.md + - git/hello.md markdown_extensions: - pymdownx.highlight: