<<<<<<< HEAD
=======
7b1e4500d60b72e59cf96e961166b4ae9e69fc16
本地代码托管管理工具,支持 GitHub / Gitee 双平台。
| 模块 | 说明 |
|---|---|
| 上传代码 | 自动创建远程仓库、初始化 Git、关联并推送,支持开源协议与 .gitignore 模板 |
| 更新推送 | 提交本地修改并推送,支持拉取远程、强制推送、工作区状态查看 |
| 分支管理 | 创建/切换/删除本地与远程分支,远程分支列表展示 |
| Fork 仓库 | Fork 他人仓库并可自动克隆到本地,支持批量 Fork |
| Release | 创建 Release、上传附件(仅 GitHub) |
| 我的仓库 | 列出所有仓库,支持按语言/协议筛选、在浏览器打开、导出 CSV/JSON |
| 搜索 | 搜索 GitHub / Gitee 上的公开仓库 |
| Issue / PR | 创建、关闭 Issue 与 Pull Request |
| Webhook | 配置、测试、删除仓库 Webhook |
| 统计 | 仓库总数、Star/Fork 总量、语言分布、最近更新列表 |
| 设置 | 代理、超时、多配置文件管理、导入/导出配置 |
- 安装 Git
- 获取平台 Token:
- GitHub:Settings → Developer settings → Personal access tokens (classic),勾选
repo权限 - Gitee:设置 → 私人令牌
- GitHub:Settings → Developer settings → Personal access tokens (classic),勾选
pip install requests
<<<<<<< HEAD
python github_manager_v10.5.py
=======
python github_manager_v10.4.py
>>>>>>> 7b1e4500d60b72e59cf96e961166b4ae9e69fc16<<<<<<< HEAD
dist/CodeManager_v10_5.exe
=======
dist/CodeManager_v10_4.exe
>>>>>>> 7b1e4500d60b72e59cf96e961166b4ae9e69fc16
build_nuitka.bat<<<<<<< HEAD
- 输出:
dist/CodeManager_v10_5.exe(约 12MB,zstandard 压缩) ======= - 输出:
dist/CodeManager_v10_4.exe(约 12MB,zstandard 压缩)
7b1e4500d60b72e59cf96e961166b4ae9e69fc16
- 编译为原生二进制,启动快,代码受保护
build_pyinstaller.bat<<<<<<< HEAD
- 输出:
dist/CodeManager_v10_5.exe======= - 输出:
dist/CodeManager_v10_4.exe
7b1e4500d60b72e59cf96e961166b4ae9e69fc16
- 安装简单,构建速度快
<<<<<<< HEAD
v10.5/
├── github_manager_v10.5.py # 主程序
=======
v10.4/
├── github_manager_v10.4.py # 主程序
>>>>>>> 7b1e4500d60b72e59cf96e961166b4ae9e69fc16
├── build_nuitka.bat # Nuitka 构建脚本(推荐)
├── build_pyinstaller.bat # PyInstaller 构建脚本
├── CodeManager.spec # PyInstaller spec 文件
├── README.md
├── 更新日志.txt
└── dist/
<<<<<<< HEAD
└── CodeManager_v10_5.exe # 打包输出(12MB)
=======
└── CodeManager_v10_4.exe # 打包输出(12MB)
>>>>>>> 7b1e4500d60b72e59cf96e961166b4ae9e69fc16
<<<<<<< HEAD
Bug 修复
- 添加缺失的
import base64,修复 Token 加密/解密运行时崩溃 upload_release_asset改用NetworkManager,恢复重试/代理/超时支持os.startfile改为跨平台兼容(Windows/macOS/Linux)_batch_upload分支从硬编码 "main" 改为读取用户设置_show_loading的root.update()改为update_idletasks()防止事件循环重入
代码重构
- 提取
_run_async辅助方法,消除 36 处线程模式重复代码(减少约 260 行) - 提取
_parse_owner_repo辅助方法,消除 18 处验证+拆分重复 - 提取
_populate_treeview辅助方法,消除 8 处列表清空+填充重复
代码清理
- 删除未使用的
import io、import ThreadPoolExecutor - 删除未使用的方法
check_ssh()、get_submodules() - 提取 15 个命名常量替换魔法数字(超时、重试次数、分页大小等)
- 为
PlatformAPI、GitOps、App的公共方法添加类型注解 =======
性能优化
GradientButton删除冗余的第一遍渐变绘制,新增颜色缓存,hover 响应更快
Bug 修复
PlatformAPI补全username属性,修复 Fork 后克隆时的AttributeErrorNetworkManager合并重复重试逻辑,修复连续限流后返回None导致的崩溃list_repos缓存r.json(),消除每次分页三次重复 JSON 解析- 修复 EXE 启动崩溃:Token 迁移写入异常不再阻断启动流程
封装改进
GitOps新增pull_unrelated()和pull_with_strategy()方法,消除外部直接调用_run
代码质量
App.log与_log_to_ui合并,线程安全逻辑统一到一处_get_theme增加_normalize_theme,统一补全各主题缺失的 fallback key- 多处后台线程中的 StringVar/BooleanVar 读取移至主线程(
_do_upload、_do_commit、_do_push等)
安全
- Token 本地加密存储(机器绑定 XOR + base64),重启后无需重新输入
- 退出时只清内存,不再擦除磁盘上的加密 Token
7b1e4500d60b72e59cf96e961166b4ae9e69fc16
- 作者:LZF <<<<<<< HEAD
- 版本:10.5.0 =======
- 版本:10.4.0
7b1e4500d60b72e59cf96e961166b4ae9e69fc16
- Python:3.8+
- 依赖:requests
- 打包:Nuitka 4.x(主)/ PyInstaller 5.x(备)