fasterthanlime/grit

A little tool so I don't forget to commit and push or pull changes when switching computers.

Rust

68

47 commits

updated Mar 14, 2025

See the code

README

grit

A simple command-line tool to keep multiple git repositories in sync across different computers.

License: MIT License Might eat your dog Maintenance Made with Rust

Features

  • Pull the latest changes from all your repositories with one command
  • Push local changes to multiple repositories
  • Interactive workflow for staging, committing, and pushing changes
  • Color-coded output for better readability

Installation

cargo install --path .

Usage

# Pull the latest changes from all repositories
grit pull

# Push local changes to all repositories
grit push

Configuration

Create a configuration file at ~/.config/grit.conf with your repositories:

You can use hash (#) as comment lines in the configuration file, just like in Bash. Here's a sample configuration:

# Personal projects
~/projects/main-project
~/projects/utils

# Work-related
~/work/client-project
~/work/internal-tools

# Documentation and notes
~/documents/notes
~/configs

License

This project is licensed under either of

at your option.

Contributors

fasterthanlime

47 commits

fasterthanlime/grit

A little tool so I don't forget to commit and push or pull changes when switching computers.

Rust

68

47 commits

updated Mar 14, 2025

See the code

README

grit

A simple command-line tool to keep multiple git repositories in sync across different computers.

License: MIT License Might eat your dog Maintenance Made with Rust

Features

  • Pull the latest changes from all your repositories with one command
  • Push local changes to multiple repositories
  • Interactive workflow for staging, committing, and pushing changes
  • Color-coded output for better readability

Installation

cargo install --path .

Usage

# Pull the latest changes from all repositories
grit pull

# Push local changes to all repositories
grit push

Configuration

Create a configuration file at ~/.config/grit.conf with your repositories:

You can use hash (#) as comment lines in the configuration file, just like in Bash. Here's a sample configuration:

# Personal projects
~/projects/main-project
~/projects/utils

# Work-related
~/work/client-project
~/work/internal-tools

# Documentation and notes
~/documents/notes
~/configs

License

This project is licensed under either of

at your option.

Contributors

fasterthanlime

47 commits

Languages

Rust

99.9%