为什么我使用Go语言编写git-hooks? 原来的icefox/git-hooks是用bash编写的, 为什么我决定使用Go重写呢?
部分原因是bash在执行较多hook时性能不佳, 但更重要的是, 将来的git-hooks可能会支持例如中心仓库分发共享hook的功能, 使用bash来实现这些功能是不现实的.
作为一个前端工程师我很熟悉JavaScript, 而我抛弃JavaScript的原因是git-hooks应该尽可能减少依赖, 它应该能在任何机器上方便的使用, 而如果使用JavaScript编写, 用户就必须在机器上先安装Node.js.
当然我也可以用C或者C++来编写git-hooks, 但我想试一下Go语言. 它拥有更好的生态, 如果使用C, 我会在网络上寻找一个通用的库, 手工下载下来然后编译, 简直愚蠢透了.
最后, 当我完成重写后, 我发现Go比C的使用要简单多了, 主要归功于它良好的生态, 虽然比JavaScript更难.
There was an error while loading. Please reload this page.
HOW TO USE GIT HUB