我正在尝试使用 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 文档,起初我无法理解这些 API 文档的 Python 格式,除了remote_head
在class 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")
任何帮助深表感谢!
谢谢。