A small Git implementation that's capable of initializing a repository, creating commits and cloning a public repository.
Inspired by codecrafters.
Tested with Python 3.9+
The run.sh script is expected to operate on the .git folder inside the current working directory.
If you're running this inside the root of this repository, you might end up accidentally damaging your repository's .git
folder.
We suggest executing run.sh in a different folder when testing locally.
For example:
mkdir -p /tmp/testing && cd /tmp/testing
/path/to/your/repo/run.sh initTo make this easier to type out, you could add a shell alias:
alias mygit=/path/to/your/repo/your_program.sh
mkdir -p /tmp/testing && cd /tmp/testing
mygit init