174 lines
4.3 KiB
Markdown
174 lines
4.3 KiB
Markdown
# QuickGit - 萌芽一键Git管理工具
|
||
|
||
一个简单易用的模块化Git命令行管理工具,让Git操作更加便捷高效。
|
||
|
||
## 功能特性
|
||
|
||
- **一键初始化Git仓库** - 自动完成Git初始化、分支创建、.gitignore配置
|
||
- **一键提交推送** - 快速提交代码并推送到远程仓库
|
||
- **多仓库支持** - 同时支持GitHub和Gitea仓库管理
|
||
- **远程仓库管理** - 便捷地添加、删除、查看远程仓库
|
||
- **状态查看** - 快速查看仓库状态和提交历史
|
||
- **彩色界面** - 友好的彩色控制台输出
|
||
- **模块化设计** - 易于维护和扩展
|
||
|
||
## 项目结构
|
||
|
||
```
|
||
QuickGit/
|
||
├── quickgit/ # 核心模块
|
||
│ ├── __init__.py # 包初始化
|
||
│ ├── config.py # 配置模块
|
||
│ ├── utils.py # 工具类(命令执行、输出格式化、输入验证)
|
||
│ ├── git_operations.py # Git操作模块
|
||
│ ├── remote_manager.py # 远程仓库管理模块
|
||
│ └── ui.py # UI交互模块
|
||
├── quickgit.py # 主程序入口
|
||
├── mengya_git_manager.py # 旧版单文件脚本(兼容保留)
|
||
└── README.md # 项目文档
|
||
```
|
||
|
||
## 快速开始
|
||
|
||
### 运行脚本
|
||
|
||
```bash
|
||
# 使用新版模块化脚本(推荐)
|
||
python quickgit.py
|
||
|
||
# 或使用旧版单文件脚本
|
||
python mengya_git_manager.py
|
||
```
|
||
|
||
### 主要功能菜单
|
||
|
||
```
|
||
1. 初始化Git仓库
|
||
2. 提交并推送更改
|
||
3. 从远程仓库拉取
|
||
4. 查看仓库状态
|
||
5. 管理远程仓库
|
||
6. 退出
|
||
```
|
||
|
||
## 使用场景
|
||
|
||
### 场景1:初始化新项目
|
||
|
||
1. 在项目目录运行脚本
|
||
2. 选择 `1. 初始化Git仓库`
|
||
3. 按提示配置GitHub或Gitea远程仓库
|
||
4. 完成首次提交
|
||
|
||
### 场景2:提交代码更改
|
||
|
||
1. 修改代码后运行脚本
|
||
2. 选择 `2. 提交并推送更改`
|
||
3. 输入提交信息(或使用默认信息)
|
||
4. 选择推送到哪个远程仓库
|
||
|
||
### 场景3:拉取远程更新
|
||
|
||
1. 运行脚本
|
||
2. 选择 `3. 从远程仓库拉取`
|
||
3. 选择要拉取的远程仓库
|
||
|
||
## 远程仓库配置
|
||
|
||
### GitHub配置
|
||
|
||
- 使用SSH方式连接
|
||
- 格式:`git@github.com:shumengya/{仓库名}.git`
|
||
|
||
### Gitea配置
|
||
|
||
- 服务器地址:`repo.shumengya.top:8022`
|
||
- 使用SSH方式连接
|
||
- 格式:`ssh://git@repo.shumengya.top:8022/{用户名}/{仓库名}.git`
|
||
|
||
## .gitignore 支持
|
||
|
||
脚本自动创建的 `.gitignore` 文件支持以下项目类型:
|
||
|
||
- **Node.js/React** - node_modules/, build/, dist/
|
||
- **Go** - *.exe, *.test, vendor/
|
||
- **Python** - __pycache__/, venv/, *.pyc
|
||
- **通用** - 日志文件、临时文件、IDE配置
|
||
|
||
## 系统要求
|
||
|
||
- Python 3.6+
|
||
- Git 已安装并配置
|
||
- SSH密钥已配置(用于远程仓库推送)
|
||
|
||
## 注意事项
|
||
|
||
1. 首次使用前请确保已配置Git用户信息:
|
||
```bash
|
||
git config --global user.name "你的名字"
|
||
git config --global user.email "你的邮箱"
|
||
```
|
||
|
||
2. 使用SSH方式连接需要提前配置SSH密钥
|
||
|
||
3. 推送到Gitea时请确保仓库已在服务器上创建
|
||
|
||
## 常见问题
|
||
|
||
**Q: 推送失败怎么办?**
|
||
A: 请检查SSH密钥配置和远程仓库地址是否正确
|
||
|
||
**Q: 如何切换远程仓库?**
|
||
A: 使用 `5. 管理远程仓库` 功能添加或删除远程仓库
|
||
|
||
**Q: 支持哪些Git操作?**
|
||
A: 目前支持init、add、commit、push、pull等常用操作
|
||
|
||
## 模块说明
|
||
|
||
### config.py - 配置模块
|
||
存储所有配置信息,包括Gitea服务器地址、GitHub用户名、.gitignore模板等。
|
||
|
||
### utils.py - 工具类模块
|
||
- `Colors`: 控制台颜色定义
|
||
- `CommandExecutor`: 命令执行器
|
||
- `OutputFormatter`: 输出格式化器
|
||
- `InputValidator`: 输入验证器
|
||
|
||
### git_operations.py - Git操作模块
|
||
提供Git基本操作功能:
|
||
- 初始化仓库
|
||
- 检查状态
|
||
- 添加/提交更改
|
||
- 推送/拉取代码
|
||
|
||
### remote_manager.py - 远程仓库管理模块
|
||
管理GitHub和Gitea远程仓库:
|
||
- 添加/删除远程仓库
|
||
- 查看远程仓库列表
|
||
- 选择推送/拉取目标
|
||
|
||
### ui.py - UI交互模块
|
||
处理用户界面和交互逻辑,整合所有功能模块。
|
||
|
||
## 开发计划
|
||
|
||
- [x] 模块化架构重构
|
||
- [ ] 支持分支管理
|
||
- [ ] 支持标签管理
|
||
- [ ] 支持冲突解决辅助
|
||
- [ ] 支持自定义配置文件
|
||
- [ ] 支持批量操作多个仓库
|
||
|
||
## 许可证
|
||
|
||
MIT License
|
||
|
||
## 作者
|
||
|
||
shumengya
|
||
|
||
---
|
||
|
||
**让Git操作更简单,让开发更高效!**
|