initx 更方便的初始化工具
首先
initx
是一个免安装脚本,需要 Node.js 环境
一直在初始化
一直以来有个让我难受的点,就是一些初始化总会需要手动操作,比如换工作的新电脑、重装系统、创建新仓库,都需要进行大量重复的准备工作,有些甚至还有很多步骤
虽然大部分只需要配置一次,配置的时候查文档,但看完下次就忘了
比如
即使想完成一次简单的 Git 提交,你也需要先完成以下步骤
创建并到 用户/xxx/.ssh
目录下复制 SSH 公钥,然后添加到远程仓库用户配置中
1 | ssh-keygen -t rsa -b 4096 -C "mail@example.com" |
设置 Git 用户名邮箱
1 | git config --global user.name "imba97" |
设置 GPG 签名
1 | git config --global commit.gpgsign true |
当然你也可以直接
1 | git config --global --edit |
把之前保存的配置直接粘贴进去,这样还稍微方便一点
但你依然也需要找到不知道备份到哪里的配置文件
再比如
你创建了一个远程仓库,你需要在本地创建目录,然后初始化仓库,添加远程仓库地址
1 | git init |
如果你想修改远程仓库地址,你需要
1 | git remote set-url origin git@github.com:user/repository.git |
不常用的话很难记,特别是一堆参数的
init 🛠
非常骄傲的为你介绍
initx
是我为自己做的一个能快速完成这些步骤的工具,如果它也能帮到你,那就太好了
中心思想
首先 initx
的中心思想是,能用最少的命令完成最多的事情,不需要记忆大量的命令和参数
比如
解决上面的“比如”,只需要一下几个简单的命令
创建 SSH 密钥并且执行
1 | npx initx cp ssh |
这样就免去找到文件打开复制的麻烦
然后设置用户名和邮箱
1 | npx initx user imba97 mail@example.com |
设置开启 GPG 签名,会自动找到并配置 GPG 可执行文件
1 | npx initx gpg true |
设置 GPG 签名密钥
1 | npx initx 92038B3E14C0D332542FB082B851A3E43D739400 |
这样就完成了所有的配置
再比如
解决上面的“再比如”只需要一个命令
1 | npx initx git@github.com:user/repository.git |
如果在没有初始化的目录下执行,会自动初始化仓库
如果已经初始化过,会修改远程仓库地址
开源
你可以在 initx-collective/initx 查看具体文档和代码
核心机制就是一个匹配器和一个执行器,如果命中了多个匹配器,则显示 description
的内容,让用户选择
1 | export default class GitHandler extends InitxHandler { |
主要功能稳定后可能会支持插件开发,你可以自定义自己的指令包发布到 npm 上