extract git stuff to git.go