Próbuję użyć GitPython do napisania skryptów w języku Python, których mogę użyć do uproszczenia codziennych zadań, ponieważ zarządzam wieloma gałęziami.Używanie modułu GitPython do uzyskania zdalnego oddziału HEAD
Jestem również całkiem nowy dla Pythona, jeśli chodzi o pisanie skomplikowanych skryptów.
Jest to API użyłem: GitPython API doc
Chcę napisać go w GitPython że po prostu wykonuje następujące operacje i przetwarza się część, która mnie HEAD zdalnego oddział wskazuje pokazuje. W innym słowem, chcę po prostu uzyskać remotes/origin/HEAD
$ git branch -a
master
* branch_to_remove
remotes/origin/HEAD -> origin/master
remotes/origin/master
remotes/origin/testing
przeglądać doc api wiele razy, najpierw mam problemy rozumienia formatu Python tych docs API, i nie mogłem znaleźć nic przydatne do użycia w tym innym niż remote_head
w class git.refs.reference.Reference(repo, path, check_path=True)
Nie można nawet wywołać/zainicjować go.
Oto, co miałem do tej pory, i można powiedzieć, co próbuję zrobić, aby po prostu przywrócić do stanu „nie oddział” i usunąć bieżące oddział jestem na:
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")
Każda pomoc jest doceniana!
Dzięki.
Dzięki za komentarz! Spróbuję tego! Czy ktoś może mi pomóc, czytając te dokumenty w języku Python API?Chodzi mi o to, że dokument jest bardzo inny i trudny do przeczytania dla takiego gościa z Java, takiego jak ja :-( Dzięki! – xbeta
To * NIE * zadziała, ponieważ nie można usunąć gałęzi, w której aktualnie się znajdujesz, więc pierwszym krokiem jest zawsze powrócić do stanu "brak oddziału", który próbuję wykonać: 'Błąd podczas przełączania do stanu" nie "gałęzi 'gałąź git -d newMaster' zwróciła kod zakończenia 1: błąd: Nie można usunąć oddziału "newMaster", którym aktualnie jesteś. " – xbeta