A Rust implementation of the AWS CodeCommit remote helper for Git. This project aims to provide a maintained alternative to the official Python implementation.
The adapted Rust implementation was done by Bart LEBOEUF on July 13, 2025.
This Git remote helper enables pushing and pulling from AWS CodeCommit repositories using Git over HTTPS. It handles AWS authentication and credential management automatically.
- Support for AWS CodeCommit repositories over HTTPS
- Automatic AWS credentials management from environment or credentials file
- Support for AWS profiles and regions
- Cross-platform support (Windows, Linux, and macOS)
- Multi-architecture support (x86_64 and arm64)
- Native performance with Rust implementation
- Self-contained dynamically linked binary
- Git (2.0 or newer)
- AWS credentials configured (
~/.aws/credentialsor environment variables) - Docker (for Linux/macOS builds) or Visual Studio Build Tools (for Windows)
- One of:
- Windows 10/11 with Visual Studio Build Tools
- Linux (x86_64 or arm64)
- macOS (Intel or Apple Silicon)
# Clone the repository
git clone https://github.com/bartleboeuf/git-remote-codecommit
cd git-remote-codecommit
# Build using Docker (automatically detects OS and architecture)
chmod +x build.sh
./build.sh
# Copy the binary to your PATH
# For Linux x86_64:
sudo cp target/x86_64-unknown-linux-gnu/release/git-remote-codecommit /usr/local/bin/
# For Linux arm64:
sudo cp target/aarch64-unknown-linux-gnu/release/git-remote-codecommit /usr/local/bin/
# For macOS Intel:
sudo cp target/x86_64-apple-darwin/release/git-remote-codecommit /usr/local/bin/
# For macOS Apple Silicon:
sudo cp target/aarch64-apple-darwin/release/git-remote-codecommit /usr/local/bin/If you have Rust installed:
cargo install --path .# Clone the repository
git clone https://github.com/bartleboeuf/git-remote-codecommit
cd git-remote-codecommit
# Build with optimizations
cargo build --release
# Run tests
cargo test# Using default AWS profile
git clone codecommit://repository-name
# Using a specific AWS profile
git clone codecommit://profile@repository-name
# Using a specific AWS region
git clone codecommit::region://profile@repository-namegit remote add origin codecommit://repository-nameThe helper uses your AWS credentials from:
- Environment variables (
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) - AWS credentials file (
~/.aws/credentials) - AWS configuration file (
~/.aws/config)
# Clone using default profile in us-east-1
git clone codecommit::us-east-1://my-repo
# Clone using 'development' profile
git clone codecommit://development@my-repo
# Add remote using specific region and profile
git remote add origin codecommit::eu-west-1://staging@my-repo- Written in Rust instead of Python
- Self-contained binary (no external dependencies)
- No Python runtime requirement
- Improved error handling
- Native performance
Contributions are welcome! Please feel free to submit issues and pull requests.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Original git-remote-codecommit project by AWS
- AWS SDK for Rust team
For security concerns, please open an issue or contact the maintainers directly.
-
Permission Denied
chmod +x /usr/local/bin/git-remote-codecommit
-
AWS Credentials Not Found
export AWS_PROFILE=your-profile # or export AWS_ACCESS_KEY_ID=your-key export AWS_SECRET_ACCESS_KEY=your-secret
For bugs and feature requests, please:
- Search existing issues
- If not found, create a new issue with:
- Your OS and version
- Git version (
git --version) - Steps to reproduce
- Expected vs actual behavior