专栏首页Python数据科学GitHub 开源的这款编程神器,我爱了!

GitHub 开源的这款编程神器,我爱了!

以下文章来源于机器之心 ,作者Synced

转自机器之心

不想用命令行操作 GitHub 的开发者,不是好的开发者。——不是我说的

小编私以为,Git 是世界上最好的代码版本控制工具,木有之一。在做项目的时候,通常我们会在本地写代码,并通过 Git 命令行追踪所有修改痕迹。如果你想托管或开源,也可以直接用 Git 把整个项目推送到 GitHub 上。

一般而言,Git 主要都是通过命令行操控,add、commit、push 三道命令一气呵成。当然 Git 也可以查看代码文件状态或回溯历史代码等等。自从有了 Git,命令行工具看起来都炫酷了许多。

Git 极简教程:第一步添加修改的代码文件,第二步将修改提交到本地代码库中,第三步将本地代码库推送到远程代码库。

当我们将本地代码提交到 GitHub 后,那么就可以在 GitHub 网站上查看各种交互信息了,例如其它开发者提的 Issue,或者提交的代码合并请求等。但是,如果我们能在命令行上直接查看、处理这些信息,那么这一定非常酷。从 Git 到 GitHub,命令行能提供一条龙服务。

近日,GitHub 就满足了这种想象,其新发布了新命令行神器「GitHub CLI」,该工具能无缝对接 GitHub。正如博客所说的:「gh 命令将把 GitHub 的操作体验,都搬到命令行中」。

现在,macOS、Windows 和 Linux 都能安装这个命令行工具包。虽然 GitHub CLI 目前仍然是 Beta 版,但从我们的体验上,还是非常友好的。此外,尽管是新项目,但其已经有了 4.8K 的 Star 量,且刚推出 Beta 一天就增长了 1.3K。

工具地址:https://cli.github.com/

开源地址:https://github.com/cli/cli

上手 GitHub CLI

因为我们试用的系统的 macOS,按照官方文档,直接用 Homebrew 就好了,不需要额外的操作。安装后第一个疑惑就是,它怎么知道我的 GitHub 是啥?果然,运行命令之前是需要授权的。不过这个授权也是异常简单,只要在 GitHub 网页上点击确定就行了,gh 会自动登录我们的 GitHub 账号。

后面转到本地的 GitHub 项目,现在 gh 命令就没问题了。如下我们先交互式地提交了一条 Issue,Issue 的 Body 需要通过 nano 编辑。

是的,交互式 Issue 最后还是会打开网页,预览并提交。当然,我们也可以选择直接在命令行提交。在 GitHub 博客、文档中,我们可以找到更多的玩法,如下我们就会介绍一部分。

GitHub 首先介绍的是 Issue 和 Pull Requests 两个任务的用法,因为大多数开发者每天都会和它们打交道,后文将分为五步一一展示。同时,如果我们对某个开源项目提交代码或者进行其它操作,gh 命令也会给你不一样的体验。

gh 使用手册:https://cli.github.com/manual/

1. 按需筛选 Issue

现在,我们找一个想要对它做点什么的开源项目,然后下载到本地。如果我们想看看维护者希望获得帮助的条目,那么可以使用 gh 来过滤不同的 Issue。如下所示将筛选出关于「help-wanted」的 Issue:

2. 快速浏览

如果找到了一条你能解决的 Bug,使用 gh 能快速在网页上展示这条 Issue 的细节。

3. 创建 Pull Request

创建一条分支,并提交一些代码以修复前面 Issue 提到的 Bug,然后就可以提交一条 PR 来分享你的贡献了:

如果使用 GitHub CLI 创建 Pull Request,且你之前没有 Fork 这个项目,那么命令工具会自动 Fork 它。命令工具会将分支推送上去,并提交 PR 以等待合并修改。

4. 查看 PR 状态

等到第二天,你就可以瞄一眼提交的 PR 到底有什么改变。gh 命令可以展示 Pull Request 的状态,并预览它:

5. 检查 Pull Request

一旦项目维护者看到了你提交的 PR,并作出反馈,我们就可能已经切换了分支。所以,可以使用 gh 来检查 Pull Request 分支:

修正代码、推送代码然后合并代码,现在你已经会 GitHub CLI 的基本操作了。后面,随着命令行工具越来越强大,也许 GitHub 更多更便捷的能力也能加进来,例如浏览代码等等。

本文分享自微信公众号 - Python数据科学(PyDataScience)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • GitHub回应突然断供:身在美国不由己,无权提前通知预警

    这是GitHub CEO Nat Friedman对GitHub限制伊朗等地账户给出的回应。

    用户2769421
  • 接私活必备的 10 个开源项目!

    基于 Angular 2, Bootstrap 4 和 Webpack 的后台管理面板框架。

    用户2769421
  • GitHub重磅更新!私有代码库从此免费

    就在早些时候,github发布了一个让全球码农开心的消息,github将对私有仓库免费。之前你新建私有库的时候是需要购买的,如今免费了。为了体验一把,我专门新建...

    用户2769421
  • 一天1300 Star量,GitHub上新官方命令行工具

    小编私以为,Git 是世界上最好的代码版本控制工具,木有之一。在做项目的时候,通常我们会在本地写代码,并通过 Git 命令行追踪所有修改痕迹。如果你想托管或开源...

    机器之心
  • GitHub 开源的这款编程神器,我爱了!

    小编私以为,Git 是世界上最好的代码版本控制工具,木有之一。在做项目的时候,通常我们会在本地写代码,并通过 Git 命令行追踪所有修改痕迹。如果你想托管或开源...

    GitHubDaily
  • 真正的敏捷工作流 —— GitHub flow

    7991 年,随着极限编程(Extreme programming)方法论的提出,持续集成(Continuous integration)也随之成为一项标准化的...

    ThoughtWorks
  • 什么叫代码的可读性?为什么说Kotlin的可读性比Java好?

    不久之前,我看了一篇文章,大意是Kotlin与Java之间的对比,像这种文章,我一般是直接忽略的,但是那天我还是打开了,然后就看到一个非常吃惊的结果。 里面有一...

    企鹅号小编
  • 使用ESLint+Prettier来统一前端代码风格

    想起自己刚入行的时候,从svn上把代码checkout下来,看到同事写的代码,大括号居然换行了。心中暗骂,这个人是不是个**,大括号为什么要换行?年轻气盛的我,...

    自然醒
  • 领域驱动设计,让程序员心中有码(七)

    多年来,笔者一直从事传统软件企业的软件开发和项目管理工作。笔者发现在众多的传统软件企业中,评判优秀开发者的标准往往是技能的熟练程度,基本上都是以梭代码的速度论英...

    歪脖贰点零
  • 代码实现WordPress有新评论时微信提醒

    博客评论一直通过邮件来提醒的,其实我们还可以使用微信来提醒,相对于邮件提醒,微信提醒管理员这个功能的时候瞬间眼前一亮,废话不多少,好东西自然要分享,「Serve...

    陌涛

扫码关注云+社区

领取腾讯云代金券