I'm trying to use GitPython to write some Python scripts which I can use it to simplify my daily tasks as I manage many branches.
I'm also quite new for Python when it comes to writing complicated scripts.
This is the API I used: GitPython API doc
I want to write it in GitPython that simply does the following and parse out the part which shows me the HEAD remote branch is pointing. In another word, I want to basically get the remotes/origin/HEAD
$ git branch -a
master
* branch_to_remove
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/testing
I browse the API doc many times, at first I'm having trouble to understand the Python format of these API docs, and I couldn't find anything useful to use to do for this other than remote_head
in class git.refs.reference.Reference(repo, path, check_path=True)
But I don't even know how to call/initialize it.
Here is what I had so far, and you can tell what I'm trying to do, to simply reset to 'no branch' state and remove the current branch I'm on:
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")
Any help is much appreciated!
Thanks.