👷自荐一个 oh-my-zsh 插件: gitcd

2018-12-28 00:30:38 +08:00
 viko16

功能很简单:

好处是:

  1. 不用考虑是否曾经 clone 过了
  2. 不用考虑之前存到哪里了
  3. 直接 cd 过去,省时省力

由于我有管理大量仓库的需要,所以写了这个小脚本来满足个人需求。如果你也有同样的需要,推荐你也尝试一下😌 整体实现也就 50 行不到~

GitHub: https://github.com/viko16/gitcd.plugin.zsh

目前作为 custom plugin 安装有点复杂,研究下怎么提交到原库🤔

4443 次点击
所在节点    分享创造
12 条回复
Sunnyyoung
2018-12-28 00:44:06 +08:00
不错,感谢分享
RYAN0UP
2018-12-28 01:08:46 +08:00
nice,感谢!
9527tech
2018-12-28 08:43:58 +08:00
不错,感谢
wubaiqing
2018-12-28 12:00:35 +08:00
不错。
yuanfnadi
2018-12-28 12:50:59 +08:00
projj 开源的 你可以试试看
yuanfnadi
2018-12-28 12:52:55 +08:00
projj add 添加项目到目录
projj find 查找之前的项目

https://github.com/popomore/projj
viko16
2018-12-28 13:12:02 +08:00
@yuanfnadi #6
谢谢,贯高大佬 projj 我也用过,甚至还造过类似的轮子😂 https://github.com/viko16/tidy-repo

只不过后来明白了 node script 是无法修改父进程环境的,也就是没办法通过 node 实现 cd 到指定目录的能力。
所以我最终还是选择返璞归真用 zsh 简单实现了一遍最基础的功能(结果发现几十行就搞定了)

参考文档: https://stackoverflow.com/a/37624361
yuanfnadi
2018-12-28 13:15:15 +08:00
@viko16 你说的那个功能我提交 PR 已经实现了。不过只支持 Mac。原理是 node 调用 app script 控制命令行。
yuanfnadi
2018-12-28 13:18:44 +08:00
@viko16 不过好像一直没有 push 新版本,需要自己 npm link。
viko16
2018-12-28 13:22:41 +08:00
@yuanfnadi #8
思路一致😂https://github.com/viko16/tidy-repo/commit/2e61128eb29d6762d0ad86ccc91c1420b2c71e10

如果 projj 没发版的话,在 PR 下问一下呗
yuanfnadi
2018-12-28 14:39:36 +08:00
@viko16 思路完全一致。不过你可以看一下 projj 的 pr 记录。tell application iterm。如果没有安装的话就会报错。
后来我是通过 node -> bash -> applescript 才解决的问题。
viko16
2018-12-28 14:59:11 +08:00
@yuanfnadi #11 的确是考虑不周了,但是可以直接用 try catch 兜底?

不过我后来放弃这种不完美方案了,感觉过于黑科技🙈

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/521718

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX