#git #repo #sync

bin+lib kamino

Help manage a bunch of git repo clones by ensuring they are in sync with the remote

3 stable releases

1.1.1 Oct 14, 2022
1.1.0 Sep 10, 2022
1.0.0 Aug 31, 2022

#682 in Development tools


547 lines

Crates.io docs.rs CI


kamino helps manage a bunch of git repo clones. Specifically, it helps when you are working on repos on multiple machines which which you keep in sync with the same remote server.

It tells you which repos aren't in sync with the remote:

  • If there are uncommitted changes, in the working copy or the index (maybe you forgot to commit?)
  • If there are stashed changes (maybe you wanted to apply them?)
  • If there are local commits not on the remote (maybe you forgot to push?)
  • If the remote is ahead of local (maybe you forgot to pull?)
  • If the git hooks in .githooks (if present) match the ones in .git/hooks (maybe you forgot to install / update a hook? maybe you have an active hook that should go into the repo?). This only checks the working copy and ignores .sample files.


The binary program doesn't actually fix any of the above conditions, because it doesn't know what you want to do about it. It just tells you in case you want to do something. Note that to check local vs remote it performs a fetch.

kamino scans for git repos within the directory you provide. Currently, this is a shallow scan that only looks one layer deep.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~343K SLoC