# gitAllPush **Repository Path**: jxsimple/git-all-push ## Basic Information - **Project Name**: gitAllPush - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-02-05 - **Last Updated**: 2025-02-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: Git, Go语言 ## README # Git多端推送工具 一个用于同时将Git仓库推送到多个远程平台的图形化工具。 ## 功能特点 - 图形化界面,操作简单直观 - 支持多个远程仓库的批量推送 - 支持分组管理配置 - 支持临时变量替换 - 支持导入/导出配置 - 支持搜索和筛选配置 - 支持快捷键操作 ## 使用说明 ### 基本操作 1. **添加配置** - 点击"新建"按钮或使用 Ctrl+N 快捷键 - 填写平台名称、仓库地址和分支信息 - 点击保存 2. **远程仓库管理** - 在"远程仓库管理"区域可以查看和设置远程仓库 - 点击"获取"可以查看现有的远程仓库 - 点击"设置"可以添加或更新远程仓库 3. **临时变量** - 在"临时变量管理"区域可以设置变量 - 变量可以在仓库地址中使用,格式为 ${变量名} - 推送时会自动替换变量值 ### 推送操作 1. **单个推送** - 选择要推送的配置 - 点击工具栏的"推送"按钮 - 如果远程分支不存在,会提示是否创建 2. **批量推送** - 勾选要推送的配置 - 点击"推送到所有启用平台"按钮 - 对每个不存在的远程分支都会询问是否创建 ### 配置管理 1. **分组管理** - 使用下拉框选择分组 - 点击"新建分组"添加新的分组 - 右键点击配置可以修改分组 2. **导入导出** - 在"文件"菜单中可以导入/导出配置 - 支持 JSON 格式的配置文件 3. **快捷操作** - Ctrl+N:新建配置 - Ctrl+S:保存配置 - Ctrl+P:推送 - 右键菜单:启用/禁用/删除配置 ## 日志查看 - 在"帮助"菜单中点击"查看日志" - 日志文件保存在 %APPDATA%/git-push-tool/logs 目录下 - 按日期生成单独的日志文件 ## 系统要求 - Windows 操作系统 - Git 命令行工具 - 已配置好的 Git 全局用户信息 ## 注意事项 1. 使用前请确保: - Git 已正确安装并添加到系统路径 - 已配置好 Git 的用户名和邮箱 - 有相应远程仓库的访问权限 - 如果使用代理,请确保 Git 的代理设置正确 - 如果遇到 SSL 验证问题,可以继续尝试推送 2. 安全提示: - 敏感信息(如密码、token)建议使用临时变量 - 不要在配置文件中保存敏感信息 - 首次使用时可能需要进行身份验证 3. 推送策略: - 默认尝试普通推送 - 如果失败,会尝试先拉取再推送 - 如果仍然失败,将尝试强制推送 - 强制推送可能会覆盖远程更改,请谨慎使用 ## 技术支持 - 问题反馈:可以在 GitHub Issues 中提交问题 - 日志文件:遇到问题时请附上日志文件 ## 开发信息 - 开发语言:Go - GUI 框架:walk - 开源协议:MIT ## 项目结构 ``` gitAllpush/ ├── config/ # 配置文件相关 │ └── config.go # 配置读写操作 ├── git/ # Git 操作相关 │ └── git.go # Git 命令封装 ├── ui/ # 用户界面相关 │ ├── config_model.go # 配置列表模型 │ ├── remote_dialog.go # 远程仓库对话框 │ └── tempvar.go # 临时变量管理 ├── main.go # 主程序入口 ├── go.mod # Go 模块定义 └── rsrc.manifest # Windows 资源清单 ``` ## 构建说明 1. **环境准备** ```bash # 安装依赖 go mod download # 安装 rsrc 工具(用于生成 Windows 资源) go install github.com/akavel/rsrc@latest ``` 2. **生成资源文件** ```bash rsrc -manifest rsrc.manifest -o rsrc.syso ``` 3. **编译程序** ```bash # Windows下编译(隐藏控制台窗口) go build -ldflags="-H windowsgui -s -w" # 如果需要调试版本(显示控制台窗口) go build ``` > 注意:使用 `-H windowsgui` 标志会隐藏控制台窗口,这在生产环境中很有用。但在开发调试时,可能需要看到控制台输出,此时应该使用普通的 `go build` 命令。