前言
最近受到别的 obsidian 插件启发,正在写自己的 obsidian 插件,然后灵光一闪想到之前在 anytype 的项目中有看到过 Roadmap 1 ,于是心血来潮在自己项目里面也加了这个玩意儿~~
之前没想那么多,想着加上这个功能就好,于是搞的是非常简单的文本那种的,可读性很差……于是回头看了一下其他项目那种非常直观的 Roadmap 样式,并且尝试着去问了一下 GPT 老师。结果非常喜人~~ Github 本身就支持了这个玩意儿!就是那个 Github Projects。
左边的侧边栏能看到自己关注的 Projects:
右边的侧边栏能看自己的 Projects:
然后新建 Project 会发现有好多好多特性!!你能随意组织自己的 Project!!非常有意思~~
恩……因为发现这个玩意儿太好玩儿了,线上做项目管理嘛,于是本能就想到是否能够把数据导出,然后本地去做一些处理。这样的话,数据在本地相当于有一个冗余备份,心里更踏实一些。
对了!甚至能用这些数据再在 ob 中去写插件实现一个数据的展示、修改,然后和正常 repo 一样能够不断提交、同步~~
嘛,之前喊 Cursor 吭哧吭哧写代码的时候处理过一些 github 的任务,它有提到这个 gh
也就是 Github CLI
,某些功能直接用 gh 就一行命令,而正常 git 命令就一大堆了……恰逢好时机,外加之前直接拉包、下载是失败了的,于是这次顺着思路就来研究了一波这个玩意儿。
什么是 GitHub CLI?
GitHub CLI(命令行接口),简称 gh
,是 GitHub 官方提供的一款强大的命令行工具。它的设计目标是帮助开发者在终端中直接高效地管理 GitHub 上的项目、Issues、Pull Requests 等资源,而无需频繁切换到浏览器。
为什么使用 GitHub CLI?
-
效率高:终端内即可管理仓库、issue、PR 等。
-
易于集成:可以方便地和脚本结合使用,实现自动化操作。
-
官方支持:由 GitHub 官方维护,和 GitHub 功能深度整合。
GitHub CLI 常见功能
-
克隆仓库:比传统的
git clone
更加智能和简洁。 -
创建和管理 Issue:无需打开网页,快速完成问题的创建、分配、标签。
-
Pull Request 操作:轻松创建、审查和合并 PR。
-
项目管理:配合扩展插件(如 Projects v2 插件)可直接管理 GitHub 项目、卡片及草稿 Issue。
-
调用 GitHub API:直接从命令行调用 GitHub REST 和 GraphQL API。
适用场景
-
日常开发工作流中快速管理 GitHub 资源。
-
CI/CD 和自动化脚本。
-
在服务器或无图形界面的环境中快速进行 GitHub 操作。
GitHub CLI 安装与配置指南
这个部分会介绍如何在 Linux(以 Ubuntu 为例)中安装和配置 GitHub CLI (gh
)。
一、安装 GitHub CLI
方法一:通过官方源(推荐)
# 添加 GitHub CLI 的官方源
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | \
sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] \
https://cli.github.com/packages stable main" | \
sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
# 更新并安装
sudo apt update
sudo apt install gh -y
方法二:手动下载 deb 安装包
如果网络缓慢,可用镜像站下载:
wget https://mirrors.tuna.tsinghua.edu.cn/github-cli/gh_2.69.0_linux_amd64.deb
sudo dpkg -i gh_2.69.0_linux_amd64.deb
sudo apt-get install -f # 解决依赖
方法三:去项目的 Release 下载包(我就用这个的)
直接跑项目上去,进 Release,选择自己环境对应的包。
二、配置与登录 GitHub CLI
推荐:使用 OAuth 登录并指定权限
gh auth login --scopes "repo,read:org,project"
OAuth 登陆的权限登陆过程中无法指定(默认的三个权限),可以用 --scopes 指定权限
这玩意儿后续可以追加权限的
gh auth refresh --scopes "project"
按照提示选择:
-
GitHub.com
-
SSH 或 HTTPS 协议
-
浏览器登录授权
替代方案:使用个人访问令牌(PAT)
若需要精细控制权限,可手动生成 token 并登录:
-
在 https://github.com/settings/tokens/new 创建 PAT,勾选:
-
repo
-
read:org
-
read:project
-
-
在终端登录:
gh auth login --with-token
# 粘贴 PAT
验证是否成功登录
gh auth status
若成功,将看到明确的账户信息。
完成上述操作后,即可愉快地使用 GitHub CLI (gh
) 了!
GitHub CLI Projects 插件介绍与使用指南
gh-projects
插件是 GitHub CLI 的扩展插件,用于在命令行中高效地管理 GitHub 的 Projects v2(Beta)项目,支持卡片、草稿 Issue(Draft Issue)等功能。
一、安装插件
gh extension install github/gh-projects
若网络不稳定,可以手动下载编译好的二进制文件并安装。
这里下载好以后需要到
~/.local/share/gh/extensions/
中新建gh-projects
然后把文件重命名为gh-projects
丢进去
二、权限设置
使用 gh-projects
插件时,需要确保 GitHub 登录令牌拥有 read:project
权限。
登录时指定权限:
gh auth login --scopes "repo,read:org,project"
或者添加权限:
gh auth refresh --scopes "project"
再或者手动创建 Token 并登录。
三、基本使用方法
1. 查看 Projects 列表
- 自己的 Projects:
gh projects list
- 他人的 Projects:
gh projects list --user USERNAME
- 组织的 Projects:
gh projects list --org ORG_NAME
2. 查看项目的卡片(包含 Draft Issue)
gh projects item-list --user USERNAME --number PROJECT_NUMBER
例如:
gh projects item-list --user sockingpanda --number 1
3. 创建 Draft Issue 卡片
gh projects item-create --user USERNAME --number PROJECT_NUMBER --title "新草稿 Issue 标题"
示例:
gh projects item-create --user sockingpanda --number 1 --title "完善文档结构"
小结
目前就暂时尝试了这么多,之后可能会继续尝试。嘿嘿,希望这玩意儿能稍微启发一下大伙儿咯~好玩儿!爱玩儿!!