Add checkout functionality to GitRepository