I got interested in learning the internals of Git, so this is an attempt to recreate the internals of GIT ( mainly git commit ).
cat-file- Prints out the object given a SHA1 hash of a Git Objectls-tree- Prints the contents of a Git Tree based on the SHA1 hashhash-object- Creates a new Git Object ( Blob | Tree | Commit ) based on given contentsshow-ref- Lists out Git Referencescommit- Commits the contents of the curret work directory [ Doesn't supportgit add. Commit considers every change in the work directory and creates Git Objects currently. ]