62 lines
1.9 KiB
Markdown
62 lines
1.9 KiB
Markdown
---
|
|
type: blog-post
|
|
title: Fuzzy clone (fz)
|
|
description: Fuzzy clone is a small cli tool that helps you quickly jump between git repos you contribute to
|
|
draft: false
|
|
date: 2024-03-09
|
|
updates:
|
|
- time: 2024-03-09
|
|
description: first iteration
|
|
tags:
|
|
- "#blog"
|
|
---
|
|
|
|
Fuzzy clone is a tool that I've used in a variety of incarnations, I've finally
|
|
sat down and actually wrote a separate utility for it.
|
|
|
|
[fuzzy-clone](https://github.com/kjuulh/fuzzy-clone)
|
|
|
|
It exists to solve one problem, and one problem only. Quickly clone, and jump to
|
|
git repositories you collaborate to.
|
|
|
|
This gif should better display why this is so useful
|
|
|
|

|
|
|
|
Do note that `,` is my alias for it `fz` is the actual command. The fully
|
|
qualified name is `fuzzy-clone`.
|
|
|
|
To get started simply:
|
|
|
|
```
|
|
brew install kjuulh/brew/fuzzy-clone
|
|
echo 'eval "$(fuzzy-clone init zsh)"' >> ~/.zshrc
|
|
fz
|
|
```
|
|
|
|
or follow the other options in the github repo.
|
|
|
|
## Why I can't live without it anymore
|
|
|
|
This might be a bit `ananas i egen juice` (self gratification), but the
|
|
alternative is horrid. I don't always remember the name of the repo I want to
|
|
clone even if I've written it myself at some point.
|
|
|
|
1. Go to https://github.com
|
|
2. Click repositories, because the homepage search, doesn't always show all the
|
|
repos I contribute to, or is a member of
|
|
3. Search `fuzzy-clone` as an example.
|
|
4. Open a terminal
|
|
5. `cd ~/git/github.com/kjuulh`
|
|
6. `gh repo clone kjuulh/fuzzy-clone`
|
|
7. `cd fuzzy-clone`
|
|
|
|
Granted I've got a more complicated directory structure than most. But still
|
|
there are like 7 steps. It may be small, but it takes around 30 seconds to a
|
|
minute instead of 2 seconds using the utility. That is super valuable to me, and
|
|
helps me everyday when I troubleshoot stuff in some of the repositories I don't
|
|
technically own in my organisation
|
|
|
|
A bonus is that if the directory exists, I can just jump between them. Sort of
|
|
like the `zoxide zi` tool but a bit more structured
|