Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nukesor/geil
:rocket: A tool to update your repositories and for keeping them clean
https://github.com/nukesor/geil
cli-app convenience git tool
Last synced: 3 months ago
JSON representation
:rocket: A tool to update your repositories and for keeping them clean
- Host: GitHub
- URL: https://github.com/nukesor/geil
- Owner: Nukesor
- License: mit
- Created: 2020-12-09T23:40:08.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-31T12:12:52.000Z (3 months ago)
- Last Synced: 2024-10-31T12:29:23.707Z (3 months ago)
- Topics: cli-app, convenience, git, tool
- Language: Rust
- Homepage:
- Size: 193 KB
- Stars: 11
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Geil
A tool for updating all of your repositories and keeping them clean.
## Features
- Watch folders for new repositories
- Fetch new commits from remote
- Fast-forward only update
- Check git stash size for each repository
- Check for local changes
- Ignore specific repositories
- Execute shell commands after a successful update.## Add repositories
There are two ways to tell `geil` to update your repositories.
1. Individually add repositories via `geil add $path_to_repository`.
2. Let `geil` watch a whole directory via `geil watch $dir_to_watch`.
Every time `geil` is started, it will automatically detect new repositories that're up to 5 levels deep in that folder.## Update your repository
Just call `geil update` to check all repositories.
If you have many repos, you can also specify the thread count via `--threads $count`.Take a look at the commandline options of each command via the `--help` flag, e.g. `geil update --help`.
## SSH Keychain
If your SSH key is password protected, `geil` needs that key to be in your keychain.
It's not yet supported to ask for the password and use it only in the scope of the current run.**But** `geil` can check if a list of known keys has been added to `ssh-agent`.
If one of those keys isn't added yet, it will call the command to add it to the keychain for you.To enable this behavior, just run `geil keys add $path_to_private_keyfile`. \
You can take a look at the registered keys via `geil keys list`.