Я пытаюсь использовать 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")
Любая помощь очень ценится !
Спасибо.