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