Write my own Git from scratch(0)