# test **Repository Path**: yngeek/test ## Basic Information - **Project Name**: test - **Description**: Git命令视窗操作辅助工具 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-01 - **Last Updated**: 2026-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Git 命令视窗操作辅助工具 > 把常用 Git 命令做成可视化窗口,让不习惯命令行的用户也能轻松管理代码。 ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Python](https://img.shields.io/badge/python-3+-green.svg) ![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20macOS%20%7C%20Windows-lightgrey.svg) ## 简介 **Git GUI Helper** 是一个基于 Python + tkinter 的桌面图形工具,把日常 Git 操作封装成"选命令 → 填参数 → 运行"的简单流程。 - 零依赖:仅需要 Python 3 自带的 tkinter,无需安装任何第三方库 - 开箱即用:`./start.sh` 或 `python3 git_gui_helper.py` 即可启动 - 中英双语:完整中文界面,[English README](./README.en.md) 同步提供 - 面向 Gitee:针对 Gitee 平台做了凭据注入、仓库创建等深度集成 ## 界面预览 ![主界面](软件截图1.png) ## 功能特性 ### 27+ 常用 Git 命令可视化 从 `clone` 到 `cherry-pick`,覆盖日常版本管理的全部操作: | 类别 | 命令 | |---|---| | 仓库操作 | `git clone`、`git init`、`git remote add / set-url / remove / -v` | | 日常提交 | `git status`、`git add`、`git commit`、`git push`、`git pull`、`git fetch` | | 分支管理 | `git branch`、`git checkout`、`git checkout -b`、`git merge`、`git rebase` | | 历史查看 | `git log`、`git diff`、`git stash` / `stash pop` | | 标签管理 | `git tag`、`git tag -a`、`git push --tags` | | 高级操作 | `git reset --soft / --hard`、`git cherry-pick`、`git rm --cached` | | 用户配置 | `git config user.name`、`git config user.email` | | Gitee 专属 | `gitee create repo`(通过 API 在线创建仓库) | ### 三种运行方式 - **📋 复制命令**:生成完整命令并复制到剪贴板,自行粘贴到终端 - **▶ 直接运行**:在当前工作目录执行命令,输出实时显示在下方终端区 - **🖥 打开终端运行**:自动检测系统终端模拟器,在新窗口中执行命令 > 支持的终端:deepin-terminal、gnome-terminal、konsole、xfce4-terminal、mate-terminal、qterminal、lxterminal、terminator、alacritty、kitty、xterm ### 智能参数辅助 - **动态下拉选择**:远程仓库名、分支名、已修改文件等自动从当前仓库提取,无需手动输入 - **危险命令确认**:`reset --hard`、`remote remove` 等操作会弹出二次确认 - **参数示例填充**:一键填入示例参数,快速了解用法 ### 凭据加密管理 - 支持多组凭据(按域名区分),加密存储在本地 `git_helper_credentials.json` - 加密方式:Base64 + XOR + HMAC,支持自定义主密码 - 凭据自动注入到 Gitee URL 中,格式为 `https://user:token@gitee.com/...` - 凭据可导入 / 导出,方便多机迁移 ### Git 状态仪表盘 - 实时显示当前分支、未暂存修改、未跟踪文件 - 工作目录切换后自动刷新 ### 提交浏览器 左侧切换到「提交」模式,即可可视化浏览仓库所有提交历史: ![提交浏览器](软件截图2.png) - 表格化展示:哈希、提交信息、作者、时间四列,支持滚动 - 分支筛选:当前分支 / 所有分支一键切换 - 关键字搜索:按提交信息、作者、邮箱或哈希实时过滤 - 选中即看:单击显示提交摘要(`git show --stat`),双击查看完整 diff - 右键快捷操作:复制哈希、cherry-pick、检出、软/硬重置、revert - 面板可拖拽:左右面板宽度可自由拖动调整 ### 多主题切换 **界面主题**:`vscode`(默认)/ `mac` / `git`(暗色) **终端输出主题**:`ubuntu` / `deepin` / `solarized` ### 收藏夹与历史记录 - 常用命令点击 **☆ 收藏**,勾选 **⭐ 仅显示收藏夹** 快速筛选 - 最近执行的命令记录在下方,双击可回填参数 - 工作区管理:保存常用项目目录,一键切换 ### 右键菜单与快捷键 所有输入框、文本框均支持右键菜单:**剪切 / 复制 / 粘贴 / 全选** ### 可配置项 - **跳过确认开关**:启用后直接运行命令,不再弹出确认对话框(可在设置文件中配置) ## 快速开始 ### 系统要求 - Python 3.6+ - tkinter(通常随 Python 自带) - 操作系统:Linux / macOS / Windows ### 启动 ```bash cd ~/ZCodeProject/Test ./start.sh ``` 或直接: ```bash python3 git_gui_helper.py ``` ### 典型使用流程 #### 场景 A:从 Gitee 克隆仓库 1. 在程序左侧选择 **「git clone」**,填写仓库 URL 2. 点击 **「▶ 直接运行」** 完成克隆 3. 通过 **「工作目录」→「浏览...」** 切换到克隆下来的项目文件夹 4. 修改文件 → **「git add」** → **「git commit」** → **「git push」** #### 场景 B:本地已有项目,关联 Gitee 1. 选择项目文件夹(点击 **「浏览...」**) 2. **「git init」** 初始化仓库 3. **「git remote add」** 关联 Gitee 远程仓库 4. **「git pull」** 拉取远程初始文件(如 README) 5. **「git add」** + **「git commit」** + **「git push」** 完成首次推送 #### 场景 C:在 Gitee 在线创建仓库 1. 先在 **「仓库凭据」** 中配置 Gitee Token 2. 选择 **「gitee create repo」**,填写仓库名、描述等 3. 点击运行,仓库自动创建完成 4. 可选择是否自动添加 remote 并推送当前项目 ## 项目结构 ``` Test/ ├── git_gui_helper.py # 主程序(单文件,约 3250 行) ├── start.sh # 启动脚本 ├── icon.png # 应用图标 ├── LICENSE # MIT 许可证 ├── README.md # 中文说明(本文件) ├── README.en.md # English README ├── 新手使用指南.md # 面向新手的详细图文教程 ├── git_helper_credentials.json # 凭据(加密存储,自动生成) ├── git_helper_favorites.json # 收藏夹(自动生成) ├── git_helper_history.json # 命令历史(自动生成) └── git_helper_settings.json # 用户设置(自动生成) ``` ## 安全说明 1. **凭据加密存储**:Token 和密码经 Base64 + XOR + HMAC 加密后保存在本地,不会明文存储 2. **主密码保护**:可设置自定义主密码替代默认密钥,进一步提升安全性 3. **凭据不入库**:所有运行时数据文件均已加入 `.gitignore`,不会被提交到 Git 4. **Token 建议**:如怀疑 Token 泄露,请立即在 Gitee 删除并重新生成 ## 常见问题 | 问题 | 解决方案 | |---|---| | "could not read Password" | 需先在「仓库凭据」中配置 Token,程序无交互式终端无法手动输入 | | 无法复制粘贴 | 右键点击输入框,使用右键菜单的剪切/复制/粘贴 | | 打开终端报错 | 系统未安装支持的终端模拟器,安装 deepin-terminal 等即可 | | pull 提示 "refusing to merge unrelated histories" | 手动在终端执行时加上 `--allow-unrelated-histories` | 更多问题请参考 [新手使用指南](./新手使用指南.md) ## 许可证 [MIT License](./LICENSE) © 2026 G.F