我正在尝试使用GitPython编写一些Python脚本来简化我的日常任务,因为我管理着许多分支。
当涉及到编写复杂的脚本时,我对Python也很陌生。
这是我使用的API:GitPython API文档
我想用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格式,除了在class git.refs.reference.Reference(repo, path, check_path=True)
中使用remote_head
之外,我找不到其他有用的东西来做这件事。
但是我甚至不知道如何调用/初始化它。
这是我目前所拥有的,你可以看出我正在尝试什么,只需将其重置为“无分支”状态并删除我所在的当前分支:
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")
任何帮助都非常感激!谢谢。
切换到“无”分支状态时出错。 'git branch -d newMaster' 返回退出状态1:错误:无法删除当前所在的分支“newMaster”。
- samxiao