效率脚本 | 快速打开项目仓库

微服务是目前较为流行的后端架构。它是由一组小型、独立的服务组成的。这些服务可以通过 API 相互通信,每个服务都专注于完成一个单一且明确定义的功能。微服务架构的优势在于它能够提高系统的可伸缩性、灵活性和可维护性。使用微服务可以使开发人员更加专注于具体的业务需求,而不是处理整个应用程序。 但常常,后端研发人员需要管理三四十微服务,服务之间的选择和切换会消耗研发人员的耐心,使用命令行来模糊搜索启动任意Git项目会极大提高工作效率。 脚本设计步骤 我习惯将所有Git项目放在系统用户目录下的Projects,即~/Projects下。在~/Projects下创建托管平台文件夹,例如github.com和coding.net文件夹。再在github.com和coding.net文件夹下clone对应的Git项目仓库。 1. 使用命令查找所有包含.git文件夹的路径作为项目单元 1 2 # -t=d搜索文件夹 -a绝对路径 -H搜索范围包含隐藏文件 --regex按照正则表达式搜索 -E排除项 -x为每个结果执行命令 而{//}表示父文件夹 fd -t=d -a -H --regex "\.git$" $HOME/Projects -E "vendor" -E "objects" -E "node_module" -x echo {//} 2. 将项目单元列表传入FZF命令中 1 fzf --height 40% --layout=reverse --preview "tree -C {}" 3. 终端提供可交互流程用于输入打开的IDE或Editor 1 echo -n "Editor: " && read KM_FD_OPEN_REPO_EDITOR && $KM_FD_OPEN_REPO_EDITOR $KM_FD_GIT_REPO_LIST 4. 将以上三个步骤有机的合并,并起个别名 1 alias repos='KM_FD_GIT_REPO_LIST=$(fd -t=d -a -H --regex "\.git$" $HOME/Projects -E "vendor" -E "objects" -E "node_module" -x echo {//} | fzf --height 40% --layout=reverse --preview "tree -C {}") && echo -n "Editor: " && read KM_FD_OPEN_REPO_EDITOR && $KM_FD_OPEN_REPO_EDITOR $KM_FD_GIT_REPO_LIST' 最终效果 支持模糊搜索 支持查询~/Projects目录下任意Git项目仓库 支持任意IDE或Editor工具打开

April 16, 2023