本文的内容高度受到这篇文章的启发
作为软件开发人员,git clone
可以说是最常用的命令之一,随着本地 git 仓库的越来越多,不知道大家是如果对其进行管理的。可能大部分人只是简单创建了一个名称类似Developer
或者Projects
的文件夹,然后把所有仓库都放在里面。
随着仓库越来越多,这种原始的方法导致的问题有:
一句话概括,就是将一个 git 仓库以<远程地址>/<所有者>/<仓库名>的文件夹结构进行存储。
比如在 clone 这个仓库时 https://github.com/vuejs/docs
通过输入以下命令,就能实现树状结构管理
git clone https://github.com/vuejs/docs.git ~/Projects/github/vuejs/docs
但这种方式带来的问题是每次 clone 时都会有心智负担,需要手动补全路径。
这是一个命令行工具,通过简单的命令就能实现以上效果
安装
npm install -g gitrees
初始化配置文件
gt init
这个命令会自动在用户目录生成一个 json 配置文件:
{
// 远程仓库地址的别名
"alias": {
"github.com": "github",
"gitlab.com": "gitlab",
"you-company.com": "company"
},
// 存储所有本地 git 仓库的根目录
"root": "/Users/hostname/Projects"
}
clone 仓库
gt clone https://github.com/vuejs/core.git
会自动转化为:
git clone https://github.com/vuejs/core.git /Users/hostname/Projects/github/vuejs/core
gitrees 的仓库地址
经过个人一段时间的实践体验下来,这种树状结构带来的问题是仓库的层级太深,有时在查找一个仓库时需要 cd 好多次,通过搭配 zsh 的插件z
可以快速定位到一个仓库,能在一定程度上解决这个问题。
最后欢迎大家使用这个工具并提出一些建议🥳
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.