info - 显示仓库信息
显示当前 Git 仓库的详细信息。
使用方法
bash
gfl info别名
bash
gfl i说明
info 命令以格式化的方式显示当前 Git 仓库和配置的详细信息,包括分支状态、跟踪信息、工作目录状态等。
示例
基本使用
bash
gfl info输出示例:
┌─────────────────────────────────────────────────────────────┐
│ 📍 当前分支: feature/aric/user-auth │
│ 🔗 跟踪分支: origin/feature/aric/user-auth │
│ 📊 位置: 领先 3, 落后 1 │
│ ✅ 工作目录: 有未提交的更改 │
│ 🌐 远程仓库: git@github.com:aric-go/gfl.git │
│ │
│ 👤 用户名: aric.zheng │
│ 📧 邮箱: aric.zheng@example.com │
└─────────────────────────────────────────────────────────────┘快捷别名
bash
gfl i显示信息
分支信息
| 项目 | 说明 |
|---|---|
| 📍 当前分支 | 当前所在的分支名称 |
| 🔗 跟踪分支 | 远程跟踪分支(如果有) |
| 📊 位置 | 相对于跟踪分支的位置(领先/落后提交数) |
仓库状态
| 项目 | 说明 |
|---|---|
| ✅ 工作目录 | 工作目录状态(干净/有更改) |
| 🌐 远程仓库 | Git 远程仓库 URL |
Git 用户信息
| 项目 | 说明 |
|---|---|
| 👤 用户名 | Git 配置的用户名 |
| 📧 邮箱 | Git 配置的邮箱地址 |
使用场景
快速查看状态
bash
# 查看当前仓库状态
gfl info
# 输出显示当前分支、是否有未提交更改等推送前检查
bash
# 推送前查看状态
gfl info
# 确认分支和位置信息
# 确认无误后推送
gfl publish切换分支前检查
bash
# 查看当前状态
gfl info
# 工作目录有更改?先暂存或提交
git stash
gfl checkout main位置状态说明
| 状态 | 说明 |
|---|---|
最新 | 与远程跟踪分支完全同步 |
领先 N | 本地有 N 个提交未推送 |
落后 N | 远程有 N 个提交未合并 |
领先 N, 落后 M | 本地领先 N 个,远程落后 M 个 |
工作目录状态
| 状态 | 说明 |
|---|---|
干净 | 没有未提交的更改 |
有未提交的更改 | 有未暂存或已暂存的更改 |
注意事项
- 如果未配置 Git 用户,会显示"未配置"
- 如果分支没有跟踪远程,跟踪信息会显示相应提示
- 此命令只读取信息,不会修改任何内容
原理说明
info 命令通过以下 Git 命令获取信息:
bash
# 获取当前分支
git rev-parse --abbrev-ref HEAD
# 获取跟踪分支
git rev-parse --abbrev-ref --symbolic-full-name @{u}
# 获取领先/落后提交数
git rev-list --left-right --count HEAD...@{u}
# 检查工作目录状态
git status --porcelain
# 获取远程仓库 URL
git config --get remote.origin.url
# 获取 Git 用户信息
git config user.name
git config user.email这些信息被格式化为易读的表格显示。