Skip to content

yanyuhanyue/Git_Tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Git Tool 5.3.0

一个面向 Git / GitHub 初学者的 Git 图形化自动工具
本工具把常用 Git 命令做成按钮,让用户不用频繁输入命令,也可以完成仓库初始化、提交、推送、拉取、日志查看、版本恢复、.gitignore 生成、GitHub Actions 工作流创建等操作。

项目地址:https://github.com/yanyuhanyue/Git_Tool

本项目支持源码运行,也可以通过 GitHub Actions 自动打包为 Windows EXE 程序,普通用户下载后可直接运行。


项目简介

Git Tool 是一个基于 Python Tkinter 开发的 Git 图形化工具,主要用于降低 Git 和 GitHub 的使用门槛。

对于刚开始学习 Git 的用户来说,命令行操作容易出现以下问题:

  • 不知道第一次上传项目应该执行哪些 Git 命令
  • 不清楚 git initgit addgit commitgit push 的执行顺序
  • 推送 GitHub 时遇到 fetch firstno configured push destination 等报错
  • 中文文件名在 Git 输出中显示成八进制乱码
  • Windows 下经常遇到 LF / CRLF 换行符警告
  • 不知道 .gitignore 应该怎么写
  • 不知道 GitHub Actions 工作流文件应该怎么创建
  • 想恢复旧版本文件,但记不住对应命令

Git Tool 5.3.0 将这些常用操作封装为图形化按钮,适合 Git 初学者、学生作业项目、个人项目管理和不熟悉命令行的用户使用。


5.3.0 版本更新重点

相比旧版本,5.3.0 主要增强了以下内容:

  • 主程序文件名统一为 Git_Tool.py
  • 新增“一键创建工作流”功能
  • 新增“编辑工作流文件”功能
  • 内置 GitHub Actions 工作流模板
  • 支持 Python CI、Node.js CI、标签发布、Windows EXE 打包、UE5 占位工作流模板
  • 新增右上角设置入口
  • 支持一键上传中断后继续操作
  • 支持设置一键上传中断后的处理策略
  • 自动记住上次关闭软件时的精简模式 / 标准模式
  • 精简模式支持根据仓库状态动态显示 .gitignore 和工作流相关按钮
  • 改进隐藏按钮逻辑,用户手动隐藏的按钮不会被自动检测强制显示
  • 改进 Git 状态输出的中文提示
  • 改进暂存区、未推送提交等一键上传流程判断

功能特点

一键上传到 GitHub

支持通过“一键上传到 GitHub”按钮完成常见上传流程:

  1. 选择本地项目文件夹
  2. 自动检测是否为 Git 仓库
  3. 非 Git 仓库可自动初始化
  4. 自动检测是否配置远程仓库 origin
  5. 可输入 GitHub 仓库地址
  6. 自动检查 Git 用户名和邮箱
  7. 选择添加全部文件或部分文件
  8. 输入提交说明
  9. 自动提交并推送到 GitHub

适合第一次将本地项目上传到 GitHub,也适合日常更新项目。


一键上传中断继续

5.3.0 增加了一键上传中断后的继续策略。

如果上一次一键上传过程中:

  • 已经添加文件,但还没有提交
  • 已经提交,但还没有推送
  • 暂存区中已有文件
  • 本地有尚未推送到 GitHub 的提交

工具可以根据设置决定:

  • 从中断的地方继续操作
  • 或者每次都从头开始

可以在右上角 设置按钮 中修改该策略。


仓库管理

支持常用仓库操作:

  • 初始化仓库
  • 克隆远程仓库
  • 添加远程 origin
  • 查看远程仓库
  • 修改远程仓库地址
  • 查看当前分支
  • 查看所有分支
  • 创建分支
  • 切换分支
  • 修改默认分支名称

初始化仓库时默认使用 main 作为默认分支;如果 Git 版本较旧,不支持 git init -b main,工具会尝试兼容方式初始化。


提交与同步

支持常见提交和同步操作:

  • 查看状态
  • 添加全部文件
  • 添加部分文件
  • 添加提交说明
  • 推送至远程仓库
  • 拉取远程更新
  • 检查本地与远程同步状态

同步检查可以帮助判断当前仓库状态:

  • 本地领先远程
  • 本地落后远程
  • 本地和远程分叉
  • 本地与远程一致

当推送被拒绝并提示需要先拉取时,工具会给出对应提示,降低新手排查难度。


GitHub Actions 工作流管理

5.3.0 新增 GitHub Actions 工作流管理功能。

支持:

  • 一键创建工作流文件
  • 编辑已有工作流文件
  • 检测仓库是否存在 .github/workflows
  • 自动切换“创建工作流”和“编辑工作流文件”按钮
  • 多个工作流文件时可选择要编辑的文件

内置工作流模板包括:

  • Python 持续集成
  • Node.js 持续集成
  • 标签触发 Release
  • Python 打包 Windows EXE
  • UE5 占位工作流

工作流模板文件会保存到用户目录,用户可以继续自定义、导入、导出和修改。


自动打包 EXE 工作流

如果你希望 GitHub 自动把 Python 文件打包为 Windows EXE,可以使用内置的 Python 打包 Windows EXE 工作流模板。

该模板会在 GitHub Actions 中:

  1. 拉取仓库代码
  2. 设置 Python 环境
  3. 安装 PyInstaller
  4. 打包 Python 程序
  5. 上传构建产物

推荐主程序文件固定命名为:

Git_Tool.py

这样以后更新版本时,不需要每次修改工作流里的文件名。


日志查看与版本恢复

支持 Git 日志和版本相关操作:

  • 查看提交日志
  • 查看提交 ID
  • 切换到指定版本
  • 恢复指定文件到旧版本
  • 日志中的提交 ID 蓝色显示
  • 支持通过 Ctrl + 左键点击提交 ID 进行版本切换操作

适合代码写错后快速回退或恢复文件。


.gitignore 忽略文件生成

内置多种 .gitignore 模板:

  • UE5 / Unreal Engine 5
  • Unity
  • Python
  • Node.js / 前端项目
  • C / C++ / Visual Studio
  • Java / Maven / Gradle
  • Go
  • 通用 Web 项目
  • 通用模板

支持:

  • 自动生成 .gitignore
  • 打开并修改已有 .gitignore
  • 添加自定义忽略模板
  • 修改已有忽略模板
  • 打开模板文件夹

对于 UE5、Unity、Python、前端等项目,建议第一次提交前先生成 .gitignore,避免把缓存、临时文件、构建产物上传到 GitHub。


中文文件名与换行符处理

针对 Windows 用户常见问题,工具提供辅助处理功能:

  • 修复中文文件名显示为八进制乱码的问题
  • 修复 LF / CRLF 换行符警告
  • 自动写入或更新 .gitattributes
  • 对 warning / error 输出进行高亮提示
  • 对常见 Git 报错给出中文说明

如果检测到中文文件名异常或换行符警告,工具会提示是否自动修复。


Git 状态输出汉化

5.3.0 对部分 Git 状态输出进行了中文提示优化,例如:

  • 当前分支
  • 已暂存文件
  • 未暂存文件
  • 未跟踪文件
  • 没有需要提交的内容
  • 当前分支还没有提交记录

这样可以减少新手阅读 Git 英文输出时的理解成本。


精简模式与标准模式

工具支持精简模式和标准模式。

精简模式主要保留常用按钮,例如:

  • 生成 / 修改忽略文件
  • 一键上传到 GitHub
  • 查看状态
  • 查看日志
  • 切换到指定版本
  • 恢复指定文件到旧版本
  • 切回指定分支
  • 清空输出

如果当前仓库已经存在工作流文件,精简模式会自动显示“编辑工作流文件”。

5.3.0 会自动记住上次关闭软件时使用的是精简模式还是标准模式,下次启动时自动恢复。


布局和按钮自定义

支持自定义界面按钮:

  • 拖拽按钮排序
  • 隐藏不常用按钮
  • 显示隐藏按钮
  • 设置每行按钮数量
  • 添加自定义按钮
  • 导入 / 导出自定义按钮
  • 导入 / 导出布局文件
  • 重置布局
  • 编辑内置按钮显示名称

自定义按钮可以保存常用 Git 命令,例如:

status -sb
log --oneline -n 5
branch -a

添加后可以像普通按钮一样点击执行。


运行环境

使用 EXE 版本

如果你下载的是已经打包好的 EXE 文件,只需要:

  • Windows 10 / Windows 11
  • 已安装 Git
  • 可以访问 GitHub

直接双击 EXE 文件即可运行。

注意:本工具是 Git 图形化辅助工具,不内置 Git。
如果电脑没有安装 Git,需要先安装 Git for Windows。


使用源码运行

如果你想运行 Python 源码,需要:

  • Python 3.x
  • Git
  • Windows 系统推荐使用

运行命令:

python Git_Tool.py

程序主要使用 Python 自带的 tkinter 图形界面库,不需要复杂依赖。


下载与使用

方式一:下载 EXE

  1. 打开项目仓库:https://github.com/yanyuhanyue/Git_Tool
  2. 进入 Releases
  3. 下载最新版本的 EXE 文件
  4. 双击运行
  5. 选择你的项目文件夹
  6. 点击对应按钮完成 Git 操作

方式二:克隆源码运行

git clone https://github.com/yanyuhanyue/Git_Tool.git
cd Git_Tool
python Git_Tool.py

推荐使用流程

第一次上传项目到 GitHub

  1. 在 GitHub 新建一个空仓库
  2. 打开 Git Tool
  3. 点击“选择仓库”,选择本地项目文件夹
  4. 如有需要,先点击“生成忽略文件”
  5. 点击“一键上传到 GitHub”
  6. 如果当前文件夹不是 Git 仓库,选择自动初始化
  7. 输入 GitHub 仓库地址,例如:
https://github.com/用户名/仓库名.git
  1. 选择添加全部文件或部分文件
  2. 输入提交说明
  3. 等待推送完成

日常更新项目

  1. 打开 Git Tool
  2. 选择项目仓库
  3. 点击“查看状态”
  4. 点击“一键上传到 GitHub”
  5. 输入本次修改说明
  6. 推送到 GitHub

创建自动打包 EXE 工作流

  1. 选择当前 GitHub 仓库目录
  2. 点击“显示隐藏”
  3. 显示“一键创建工作流”
  4. 点击“一键创建工作流”
  5. 选择“Python 打包 Windows EXE”
  6. 创建工作流文件
  7. 提交并推送到 GitHub
  8. 使用版本标签触发自动打包

推荐版本标签格式:

git tag v5.3.0
git push origin v5.3.0

拉取远程更新

如果你在 GitHub 网页端修改过文件,或者远程仓库有其他提交,建议先点击:

拉取

同步完成后,再继续提交和推送。


恢复旧版本文件

  1. 点击“查看日志”
  2. 找到需要恢复到的提交 ID
  3. 点击“恢复指定文件到旧版本”
  4. 输入提交 ID 和文件路径
  5. 恢复后重新提交

常见问题

1. 打开 EXE 后提示找不到 Git 怎么办?

说明当前电脑没有正确安装 Git,或者 Git 没有加入系统环境变量。

解决方法:

  1. 安装 Git for Windows
  2. 安装完成后重新打开 Git Tool
  3. 如果仍然提示找不到 Git,重启电脑后再试

工具也提供了通过 Windows winget 尝试自动安装 Git 的辅助功能。


2. 推送时报 fetch first 是什么原因?

说明 GitHub 远程仓库中存在本地没有的提交。

常见解决方法:

  1. 先点击“拉取”
  2. 同步远程内容
  3. 再重新提交和推送

3. 中文文件名显示成数字和反斜杠怎么办?

这是 Git 在 Windows 下的中文路径显示问题。

可以点击工具中的:

修复中文显示

修复后中文文件名会更容易阅读。


4. LF will be replaced by CRLF 是错误吗?

通常不是严重错误,而是 Windows 下的换行符提示。

如果不想反复看到该提示,可以使用工具中的:

修复换行符警告

工具会写入或更新 .gitattributes,并让换行符规则更加稳定。


5. .gitignore 有什么用?

.gitignore 用来告诉 Git 哪些文件不需要上传。

例如以下内容通常不建议上传:

  • 编译缓存
  • 临时文件
  • IDE 配置缓存
  • 日志文件
  • 打包输出目录
  • Python 的 __pycache__
  • UE5 的 BinariesIntermediateSaved
  • Unity 的 LibraryTemp

6. 已经生成 .gitignore 后还能修改吗?

可以。

如果当前仓库已经存在 .gitignore,工具会显示“修改忽略文件”按钮,可以直接打开并编辑。


7. 为什么建议主程序叫 Git_Tool.py

因为如果文件名带版本号,例如:

Git_Tool_5.1.4.py
Git_Tool_5.3.0.py

每次更新版本都要同步修改 GitHub Actions 工作流里的打包命令。

固定使用:

Git_Tool.py

以后版本号交给 Git 标签管理,例如:

git tag v5.3.0
git push origin v5.3.0

这样更适合自动打包和长期维护。


8. 工作流文件保存在哪里?

GitHub Actions 工作流文件保存在仓库的:

.github/workflows/

例如:

.github/workflows/build-exe.yml

适合人群

  • Git / GitHub 初学者
  • 不熟悉命令行的用户
  • 需要经常提交课程作业的学生
  • 使用 UE5、Unity、Python、前端项目的个人开发者
  • 想用按钮完成 Git 常用操作的用户
  • 想让 GitHub 自动打包 EXE 的 Python 项目作者

项目结构

推荐项目结构:

Git_Tool/
├─ Git_Tool.py
├─ README.md
├─ LICENSE
├─ .gitattributes
└─ .github/
   └─ workflows/
      └─ build-exe.yml

注意事项

  1. 使用前请先安装 Git。
  2. 第一次推送 GitHub 时,可能需要登录 GitHub 或配置凭据。
  3. 恢复旧版本前建议先提交当前修改,避免误覆盖。
  4. .gitignore 建议在第一次大量提交前生成。
  5. 如果远程仓库已有内容,推送前建议先拉取。
  6. EXE 文件如果被安全软件拦截,可将其加入信任列表,或运行源码版本。
  7. GitHub Actions 自动打包建议使用固定文件名 Git_Tool.py
  8. 工作流文件修改后,需要提交并推送到 GitHub 才会生效。

许可证

本项目采用 MIT License 开源协议。

你可以自由使用、复制、修改、合并、发布、分发本项目代码,但需要保留原始版权声明和许可证声明。

About

一个面向新手的 Git 图形化自动工具,支持一键上传 GitHub、仓库初始化、状态查看、日志查看、版本恢复、分支切换、.gitignore 生成、布局自定义等常用操作,已打包为 Windows EXE,可直接运行。

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages