聊聊 GitHub CLI,以及我为什么不再手动配 SSH 了
传统认证方式到底哪里难受说实话在接触gh之前我一直觉得 GitHub 的认证这块挺烦的。不是说它不能用而是用起来总有点别扭。先说用 HTTPS 加令牌这条路。GitHub 要求你去网页端生成一串很长的字符串复制下来然后在命令行里粘贴进去。这本身倒没什么麻烦的是如果你在 Linux 下没有专门配凭据管理器这串 token 它不帮你记住。下次推代码还得重来一遍。久而久之就觉得很累因为这种重复性的体力劳动跟写代码本身没有任何关系。SSH 密钥的方案是很多老手的首选也确实更安全、更稳定。但配起来步骤不少先生成密钥对再把公钥复制到 GitHub 网页里再去编辑本地的 ssh 配置文件然后测试一下连通性。单台机器还好如果你经常换电脑或者同时用好几台设备每台都要重新走一遍这套流程说不烦是假的。而且 SSH 说到底只解决了代码拉取推送的问题GitHub 平台上其他的东西——议题、合并请求、代码搜索——它都管不着。gh做了什么gh是 GitHub 官方出的命令行工具。它最核心的功能不是让你在终端里看议题虽然这个也挺好用的而是它接管了 Git 的认证这一块。登录的过程很简单。你跑gh auth login终端里会给你一个短码然后自动打开浏览器你在网页上点一下授权就结束了。不需要你手动生成任何 token不需要记住任何字符串。登录完之后gh会把自己注册成 Git 的凭据助手。具体是修改了 Git 的底层配置让credential.helper指向gh自己。效果就是以后你跑任何git push或者git cloneGit 碰到 GitHub 的地址会自动去问gh要权限整个过程你完全不用管。装起来也不麻烦我自己用mise装的一行命令mise use--globalghlatestmise是个环境管理工具可以统一管理各种语言运行时和命令行工具的版本我用了挺长时间了挺顺手的。当然你也可以直接用系统包管理器apt install gh或者brew install gh都行效果是一样的。装完之后跑登录gh auth login按照提示选 GitHub.com然后选 HTTPS走浏览器授权那条路。授权完就好了之后的git push、git pull全部自动走认证不会再问你要密码或者 token。生成token时注意至少要勾选这三个权限repo、read:org、workflow少了会有权限报错。还有一个用途跟 AI 有关这部分可能有些人没想到过。现在很多人在用 AI 辅助开发经常会遇到我想让 AI 去参考一下某个开源项目的实现这种需求。以前的做法是让 AI 把整个仓库 clone 下来几百兆的东西全下到本地既慢又乱AI 的上下文也容易被一堆不相关的文件撑满。如果你装了gh并且登录了Cursor 或者 Claude 这类工具可以通过 GitHub 的 MCP 插件直接调用 GitHub 的接口在云端搜索代码、读取特定文件、查看议题讨论完全不需要把整个仓库拉下来。你跟 AI 说帮我看看 React 仓库里 useEffect 相关的最近讨论它直接去查查完告诉你不会在你硬盘上留下任何东西。这个功能能不能用前提就是本地有有效的 GitHub 认证。gh登录之后这个条件自然就满足了。总结一下我现在换电脑之后第一件事就是跑gh auth login比以前去网页上找 Developer Settings 生成 token、或者重新配 SSH 密钥省事多了。如果你还没试过值得花五分钟体验一下。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2417504.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!