A tool for updating all of your repositories and keeping them clean.
This project is mostly used by myself. You may also use it if you like. However, I don't plan to provide the same level of support for this project as I do for my other projects.
- 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.
There are two ways to tell geil to update your repositories.
- Individually add repositories via
geil add $path_to_repository. - Let
geilwatch a whole directory viageil watch $dir_to_watch. Every timegeilis started, it will automatically detect new repositories that're up to 5 levels deep in that folder.
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.
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.