使用 GitHub CLI 提高工作效率
对于GitHub上的项目维护者或贡献者来说, GitHub CLI是一个不可或缺的工具。它可以显著提高你的工作效率。
我脑子爆炸的那天,是我发现(剧透警告)可以使用 GitHub CLI 创建拉取请求的时候。
我们开始吧!
安装 GitHub CLI
请前往安装文档了解如何设置 GitHub CLI。文档提供了 Linux、Windows 和 macOS 的安装程序。
通过 GitHub CLI 登录 GitHub
你已经启动并运行了,但是如果你尝试运行任何命令,系统会提示你登录,所以我们先登录一下。
要通过 GitHub CLI 登录 GitHub,请运行gh auth login。
您将看到两种登录选项:GitHub.com 或 GitHub Enterprise Server。大多数情况下,除非您的公司使用 GitHub Enterprise Server,否则您将选择默认选项 GitHub.com。
接下来,系统会询问您要使用哪个协议登录。默认协议是 HTTPS,但我建议使用 SSH。要了解有关使用 SSH 配置 GitHub 的更多信息,请参阅“使用 SSH 连接到 GitHub”。
通过 SSH 登录
接下来,它会要求您将公钥发布到 GitHub。这样做是安全的,您可以继续操作。
它会提示输入键的标题。使用默认值“GitHub CLI”即可。
通过 HTTPS 登录
如果选择 HTTPS,系统会要求您使用 GitHub 凭据对 Git 进行身份验证。
按下ENTER继续。
完成登录过程
接下来,系统会提示您通过浏览器或令牌登录。说实话,我从来没在这个步骤用过令牌,我总是直接通过浏览器登录。如果您有令牌,那就用吧。
您将在 CLI 中看到一个代码,您需要复制该代码(some code在我的屏幕截图中已更改为),然后按下按钮ENTER通过浏览器登录。
粘贴或输入代码,然后按“继续”按钮。
接下来,系统会提示您授权 GitHub。点击“授权 GitHub”按钮。
此时,根据您帐户的安全设置,系统可能会要求您通过 GitHub 移动应用程序登录。
通过 GitHub 移动应用或您设置的其他多因素身份验证方法登录。
至此,你应该已经准备就绪了。
如果你回到命令行,应该会看到类似这样的内容。
实用命令
让我们一起来看看我每天都会用到的几个命令,然后再看看一些我不太常用但很有用的命令。
审核拉取请求
作为项目维护者,你肯定会需要审核 PR(无论是外部贡献者还是团队成员的 PR)。在 GitHub CLI 出现之前,我总是需要搜索如何用 Git 将别人的 PR 导入到本地机器。我总是忘记,所以后来我创建了一个 Git 别名来执行这个操作。命令格式如下:`git pull` git fetch origin pull/pr_number/head:name_of_branch。所以,如果我要审核第 1234 号 PR,命令格式会是这样的:`git pull` git fetch origin pull/1234/head:pr-1234。你可以随意命名分支。我以前会用pr-PR 的编号来命名它。
如今这些都不需要了。使用 GitHub CLI,你只需要cd在终端中进入项目目录,然后运行命令gh co pr-number,例如:gh co 2062
以下是我最近为OpenSauced 应用仓库审核的一个 pull request 的实际应用示例。
创建拉取请求
在 GitHub CLI 出现之前,我通常会将我的分支推送到 GitHub,然后我会访问 GitHub.com 上的仓库页面,并从那里创建一个拉取请求。
虽然这种方法可行,但当我发现 GitHub CLI 也能做到这一点时,我简直惊呆了。你只需要在命令行运行`gh pr create`gh pr create --draft命令,前提是你当前位于想要关联拉取请求的仓库分支上。你可以提供额外的参数,例如 `--pr`或更简洁的版本gh pr create -d`--pr`,但通常情况下,我创建拉取请求时,会先在 CLI 中完成步骤,然后在浏览器中完成最后一步。这完全取决于个人习惯,选择最适合你的方式即可。
这是我创建的新测试 PR。
在 GitHub 上创建或推送新的存储库
过去,我总是从 GitHub.com 创建一个新的代码仓库。
我确信可以通过命令行在 GitHub 上创建仓库,但我一直懒得去学,现在有了 GitHub CLI,我也不需要了。
从零开始创建一个存储库
要从头开始创建一个存储库,请从命令行运行gh repo create 。
选择Create a new repository on GitHub from scratch并按下该ENTER键。
接下来,系统会提示您为存储库命名,例如test。
接下来,选择仓库所有者。如果您是多个 GitHub 组织的成员,它们将出现在列表中。在本例中,我将选择我自己的帐户nickytonline作为仓库所有者。
请添加仓库描述,例如“仓库名称”,test或者留空。这不是必需的。
接下来,设置仓库的可见性。它可以是公开(默认)、私有或内部。
由于这是一个测试仓库,我将把它设置为私有。
接下来,系统会提示您创建一个 README 文件。输入y并按下相应ENTER键。
系统会提示您添加 .gitignore 文件。输入y并按下回车ENTER键。
接下来,选择最能反映 .gitignore 文件内容的语言。我经常使用 JavaScript、Node.js 和 TypeScript,所以我选择 Node。
系统会提示您添加许可证。输入许可证信息y并按下相应ENTER按键。
选择最适合您所创建项目的许可证。就本文而言,我将选择 MIT 许可证。
系统会快速询问您是否要在 GitHub 上创建仓库。输入y并按下ENTER按键继续。
接下来,系统会询问您是否要将存储库克隆到本地。
输入文字y并按键ENTER继续。
新的代码库现已发布在 GitHub.com 上,并已克隆到您的计算机上。
将现有的本地仓库推送到 GitHub
要将现有的本地存储库推送到 GitHub,请从命令行运行gh repo create 。
系统会提示您输入本地仓库的路径。默认路径为.当前目录。如果您由于某种原因在本地 Git 仓库文件夹之外运行了该命令,请指定仓库所在的文件夹。
接下来,系统会要求您为仓库命名。默认情况下,它将使用本地仓库所在文件夹的名称,例如 `<repository_name>` test。如果需要,您可以更改它。
接下来,系统会提示您选择存储库所有者。默认情况下,它是您的用户,例如nickytonlin,但您也可以选择您所属的任何组织。
接下来,系统会要求您添加描述。您可以添加描述,也可以留空。这完全取决于您。
接下来,您需要设置代码库的可见性。它可以是公开的(默认)、私有的或内部的。
接下来,系统会询问您是否要设置遥控器。按回车键表示“是”(默认设置)。
系统会询问新远程仓库的名称。按 Enter 键ENTER接受默认名称origin。GitHub CLI 会通知您远程仓库已添加,例如:git@github.com:nickytonline/test.git
最后,系统会询问您是否要将当前分支的提交推送到origin远程仓库。按下ENTER推送键,就完成了!
结论
对我来说,GitHub CLI 彻底改变了我的日常工作流程。我几乎每天都用它,好吧,确切地说是工作日。😎
从创建新仓库,到拉取拉取请求 (PR),再到创建 PR 等等,GitHub CLI 对我来说已经变得不可或缺。
GitHub CLI 中还有另一组命令可供使用,我鼓励大家去查看一下,说实话,连我自己也应该进一步探索一下。
我知道并非每个人都熟悉命令行,但我认为如果你尝试一下 GitHub CLI,你可能会爱上它。不过,一如既往,请使用最能提高你工作效率的工具。
保持你的个性!
如果您想了解更多关于我在开源领域的工作,请在 OpenSauced 上关注我。
文章来源:https://dev.to/opensauced/boost-productivity-with-the-github-cli-2mne






































