2 releases
Uses new Rust 2024
| 0.1.1 | Mar 14, 2026 |
|---|---|
| 0.1.0 | Mar 14, 2026 |
#253 in Configuration
38KB
687 lines
GitHome
GitHome is a CLI utility that allows you to set up and manage multiple git repositories in your local "git home".
This is especially useful when jumping between machines and repositories - e.g. I have a new machine and I want the last 15 projects I've committed to on this machine. How do I do that without manually cloning each and every one?
Commands
- Help
- Init - initializes a githome in the current working directory
- Sync - syncs your githome with all configured remotes
- Add - adds a group or project to your githome
- Remove - removes a project from your githome
- Status - prints out githome configuration info (for now)
Example Config
# for now, will only clone via this protocol unless explicitly set in groups or projects
# type: str (enum[Ssh|Https])
default_protocol = "Https"
# submodules are cloned recursively by default
# TODO: expand groups, projects configs to allow specification of submodule cloning
submodules = false
# which servers to search in
[[servers]]
forge_type = "GitLab"
url = "gitlab.com"
groups = []
projects = []
[[servers]]
forge_type = "GitHub"
url = "github.com"
groups = []
# groups to mirror
# type: list[str (url, optional proto)]
# NOT CURRENTLY FUNCTIONAL FOR GITHUB
# [[servers.groups]]
# forge_type = "None"
# name = "/astral-sh"
# projects to mirror
# type: list[str (url, optional proto)]
[[servers.projects]]
forge_type = "None"
name = "/astral-sh/uv"
Dependencies
~44–69MB
~1M SLoC