Использование модуля GitPython для получения удаленной ветки HEAD

Я пытаюсь использовать GitPython для написания некоторых сценариев Python, которые я могу использовать для упрощения своих повседневных задач, поскольку я управляю многими ветками.

Я также новичок в Python, когда дело доходит до написания сложных скриптов.

Это API, который я использовал: GitPython API doc

Я хочу написать его на GitPython, который просто делает следующее и анализирует часть, которая показывает, на что указывает удаленная ветвь HEAD. Другими словами, я хочу в основном получить remotes/origin/HEAD

$ git branch -a
  master
* branch_to_remove
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/testing

. Я много раз просматривал документацию API, сначала у меня были проблемы с пониманием формата Python этих документов API, и я не мог не нашел ничего полезного для этого, кроме remote_headв классе git.refs.reference.Reference(repo, path, check_path=True)

Но я даже не знаю как вызвать/инициализировать его.

Вот что у меня было до сих пор, и вы можете сказать, что я пытаюсь сделать, чтобы просто сбросить состояние «без ветки» и удалить текущую ветку, в которой я нахожусь:

import git
from git import *
repo = git.Repo("/some/path/testing")
repo.git.branch()
[some code to get the remotes/origin/HEAD, set it to remoteHeadBranch ]
repo.git.checkout(remoteHeadBranch)  # this should reset the Git back to 'no branch' state
repo.git.checkout(D="branch_to_remove")

Любая помощь очень ценится !

Спасибо.

8
задан xbeta 12 June 2012 в 06:41
поделиться