165 lines
3.6 KiB
Markdown
165 lines
3.6 KiB
Markdown
# QuickGit 主菜单提示功能
|
|
|
|
## 功能说明
|
|
|
|
在主菜单下方添加了两条永久提示,帮助用户养成良好的 Git 使用习惯。
|
|
|
|
---
|
|
|
|
## 显示效果
|
|
|
|
```
|
|
============================================================
|
|
>> 主菜单
|
|
------------------------------------------------------------
|
|
[1] 初始化Git仓库
|
|
[2] 提交并推送更改
|
|
[3] 从远程仓库拉取
|
|
[4] 查看仓库状态
|
|
[5] 管理远程仓库
|
|
[6] 退出程序
|
|
------------------------------------------------------------
|
|
[*] 提交代码前建议先拉取最新代码,减少代码冲突
|
|
[*] 使用SSH进行Git提交更方便快捷和安全
|
|
------------------------------------------------------------
|
|
>> 请输入选项 [1-6]:
|
|
```
|
|
|
|
---
|
|
|
|
## 提示内容
|
|
|
|
### 提示 1: 先拉取再提交
|
|
```
|
|
[*] 提交代码前建议先拉取最新代码,减少代码冲突
|
|
```
|
|
|
|
**目的:**
|
|
- 避免代码冲突
|
|
- 养成良好的协作习惯
|
|
- 减少合并错误
|
|
|
|
**最佳实践流程:**
|
|
1. 先执行 `[3] 从远程仓库拉取`
|
|
2. 解决可能的冲突
|
|
3. 再执行 `[2] 提交并推送更改`
|
|
|
|
### 提示 2: 使用 SSH
|
|
```
|
|
[*] 使用SSH进行Git提交更方便快捷和安全
|
|
```
|
|
|
|
**优势:**
|
|
- **更安全**: 使用公钥加密,不需要每次输入密码
|
|
- **更快捷**: 配置一次,永久使用
|
|
- **更方便**: 无需记住密码,自动认证
|
|
|
|
**SSH 配置步骤:**
|
|
|
|
1. **生成 SSH 密钥:**
|
|
```bash
|
|
ssh-keygen -t ed25519 -C "your_email@example.com"
|
|
```
|
|
|
|
2. **查看公钥:**
|
|
```bash
|
|
# Linux/macOS
|
|
cat ~/.ssh/id_ed25519.pub
|
|
|
|
# Windows
|
|
type %USERPROFILE%\.ssh\id_ed25519.pub
|
|
```
|
|
|
|
3. **添加公钥到远程仓库:**
|
|
- GitHub: Settings → SSH and GPG keys → New SSH key
|
|
- Gitea: Settings → SSH/GPG Keys → Add Key
|
|
|
|
4. **测试连接:**
|
|
```bash
|
|
# GitHub
|
|
ssh -T git@github.com
|
|
|
|
# Gitea
|
|
ssh -T git@git.shumengya.top -p 8022
|
|
```
|
|
|
|
---
|
|
|
|
## 设计原则
|
|
|
|
### 1. 醒目但不干扰
|
|
- 使用青色 `[*]` 图标
|
|
- 位置在菜单选项之后
|
|
- 不影响菜单选择
|
|
|
|
### 2. 简洁明了
|
|
- 每条提示不超过 30 个字符
|
|
- 直接说明要点
|
|
- 易于理解
|
|
|
|
### 3. 实用性强
|
|
- 针对常见问题
|
|
- 提供最佳实践
|
|
- 帮助用户避免错误
|
|
|
|
---
|
|
|
|
## 技术实现
|
|
|
|
### 代码位置
|
|
文件: `quickgit/ui.py`
|
|
|
|
### 实现代码
|
|
```python
|
|
def show_main_menu(self):
|
|
"""显示主菜单"""
|
|
print(f"\n{Colors.BRIGHT_MAGENTA}{Colors.BOLD}>> 主菜单{Colors.ENDC}")
|
|
print(f"{Colors.CYAN}{'-' * 60}{Colors.ENDC}")
|
|
|
|
OutputFormatter.menu_item(1, "初始化Git仓库")
|
|
OutputFormatter.menu_item(2, "提交并推送更改")
|
|
OutputFormatter.menu_item(3, "从远程仓库拉取")
|
|
OutputFormatter.menu_item(4, "查看仓库状态")
|
|
OutputFormatter.menu_item(5, "管理远程仓库")
|
|
OutputFormatter.menu_item(6, "退出程序")
|
|
print(f"{Colors.CYAN}{'-' * 60}{Colors.ENDC}")
|
|
|
|
# 显示永久提示
|
|
OutputFormatter.tip("提交代码前建议先拉取最新代码,减少代码冲突")
|
|
OutputFormatter.tip("使用SSH进行Git提交更方便快捷和安全")
|
|
print(f"{Colors.CYAN}{'-' * 60}{Colors.ENDC}")
|
|
```
|
|
|
|
### 使用的函数
|
|
```python
|
|
# 定义在 quickgit/utils.py
|
|
OutputFormatter.tip(text: str)
|
|
# 显示格式: [*] + 青色文字
|
|
```
|
|
|
|
---
|
|
|
|
## 用户反馈
|
|
|
|
这些提示将帮助用户:
|
|
- ✅ 减少代码冲突
|
|
- ✅ 了解 SSH 的优势
|
|
- ✅ 养成良好的 Git 工作流程
|
|
- ✅ 提高工作效率
|
|
- ✅ 增强代码安全性
|
|
|
|
---
|
|
|
|
## 未来扩展
|
|
|
|
可以考虑添加更多实用提示:
|
|
- Git 分支管理建议
|
|
- .gitignore 配置提示
|
|
- 提交信息规范建议
|
|
- 标签使用说明
|
|
|
|
但要注意:
|
|
- 提示数量不宜过多(建议不超过 3 条)
|
|
- 内容要简洁实用
|
|
- 避免信息过载
|