Я предпочитаю использовать команды git напрямую и переносить их с помощью модуля подпроцесса.
Как бы то ни было, если вы ищете модули для взаимодействия с Git, я могу подумать о
Для git-python, в частности, пожалуйста, посмотрите на класс: Repo. Имеет функцию:
fork_bare(path, **kwargs)
Fork a bare git repository from this repo
path is the full path of the new repo (traditionally ends with name.git)
options is any additional options to the git clone command
Returns git.Repo (the newly forked repo)
Также вы можете оформить заказ: http://packages.python.org/GitPython/0.3.2/tutorial.html#using-git-directly
git = repo.git
git.checkout('head', b="my_new_branch")