Skip to content

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

这些信息被格式化为易读的表格显示。

相关命令

基于 MIT 许可发布