To test run
mkdir test_dir && cd test_dir
../my_git.sh init
echo "Hello world!" > sample.txt
../my_git.sh hash-object -w sample.txt
-w
means this would add this file's encoded content to the .git/objects
folder at path .git/objects/hash[0..2]/hash[2..20]
If omited it will only print out the hash object and not write it to .git/objects
../my_git.sh cat-file -p [hash outputed from execution above]
-p
prints the original content of the hash, -s
prints the size and -t
prints the type (blob, tree or commit)
You can also use normal git in this folder and use git log to get past commit hashes and view info on that using ../my_git.sh cat-file -p ...
../my_git.sh write-tree
../my_git.sh ls-tree [hash]
../my_git.sh commit-tree [root_tree_hash] -p [parent_tree_hash] -m [commit_message]