A Rust implementation of Git, following the Write Yourself a Git tutorial.
git clone https://github.com/EdwardJiazhenTan/git.git
cd git
cargo build
cargo run -- --help# Initialize a new repository
cargo run -- init [path]
# Show repository status (if in a git repo)
cargo run-
init- Initialize a new repository -
add- Add files to staging area -
cat-file- Display object contents -
check-ignore- Check ignore rules -
checkout- Checkout commit to working tree -
commit- Record changes to repository -
hash-object- Compute object hash -
log- Show commit history -
ls-files- List files in index -
ls-tree- List tree contents -
rev-parse- Parse revision identifiers -
rm- Remove files from working tree and index -
show-ref- List references -
status- Show working tree status -
tag- Create and list tags
clap- Command line argument parsinganyhow- Error handlingconfigparser- Git config file parsing