git-ext:在命令行提交PullRequests的小工具

我们主要用的仓库托管是 bitbucket,感觉不是很好用。每次推分支之后要打浏览器开 pr 很烦,而且要一个一个一个点 reviewers。就写了一个命令行工具,可以不用开浏览器搞这些东西了。其实主要是用的 REST 的 api 做了个客户端,授权是 HTTPBASIC,所以要将密码写到~/.git_ext.yml 。

安装:

主要特性:

  • 在命令行提交 pr,使用 git config 的 core.editor 来编辑 pr 信息,第一行是 title,其余是 description
  • pr 的模板会显示 source 分支和目标分支的 diff 和 stat
  • 如果 pr 提交失败(比如服务器并没有 source branch )会备份本次写的 pr 信息,下次 create 的时候,如果有存在上次失败的 commit message,会自动使用上次写的(不用重写一遍啦)
  • 支持 reviewers group,比如你设定了一个组 dev,里面有 10 个人,那么在命令行填写 reviewers 的时候只要写 @dev,reviewers 就会变成这 10 个人。
  • 支持查看服务器的 pr 列表
  • 支持查看 pr 的动态

放两张预览图:

TODO

  • 由于我提 pr 基本都是在 bitbucket,所以现在只写了 bitbucket,下面做 github 的吧(再下来是 gitlab,如果这东西有人用的话)。
  • snippets 和 gist 支持

源代码

https://github.com/laixintao/git-ext

话说,能工作和作为开源工具发布真是不一样啊,刚开始写的时候,基本上一个晚上就写好了,但是后来想加一下travis和codecov,折腾了好久。然后总觉得设计不好,想用面向对象,github bitbucket gitlab都从base的PullRequest继承,又重构了下,等于重写了一次,竟然有一百多次commits了。不过不写不知道,打包发布,ci,也有不少坑呢。

Leave a comment

电子邮件地址不会被公开。 必填项已用*标注