Sklonowałem repozytorium z GitPythonem, teraz chciałbym sprawdzić gałąź i zaktualizować drzewo robocze lokalnego repozytorium z zawartością tego oddziału. Idealnie byłoby również sprawdzić, czy oddział istnieje przed wykonaniem tego. Oto, co mam do tej pory:Jak sprawdzić oddział za pomocą GitPython
import git
repo_clone_url = "[email protected]:mygithubuser/myrepo.git"
local_repo = "mytestproject"
test_branch = "test-branch"
repo = git.Repo.clone_from(repo_clone_url, local_repo)
# Check out branch test_branch somehow
# write to file in working directory
repo.index.add(["test.txt"])
commit = repo.index.commit("Commit test")
Nie jestem pewien, co umieścić w powyższym komentarzu. documentation wydaje się dawać przykład, jak odłączyć HEAD, ale nie, jak sprawdzić nazwę oddziału.
Dzięki, czy wiesz, jak sprawdzić, czy istnieje oddział lokalny? –
Tak. Wiem nawet o dwóch z nich! I z pewnością mogę sobie wyobrazić jeszcze więcej za kilka minut! Ale wszystkie one nie są tak dobre, ponieważ wszystkie opierają się na tym samym. GitPython tylko oblicza i przekazuje wiersze polecenia git do systemu operacyjnego i wyniki analizy. Najlepsze, co możesz, to "spróbować" czegoś i oczekiwać 'git.exc.GitCommandError'. Jeśli tak się stanie, gałąź nie istnieje LUB pomieszałeś kod. Co sprawdzić: 'repo.git.checkout ('branchename')' lub 'repo.git.rev_parse ('- verify', 'branchname')' . Nie robi tego samego, ale daje dokładnie taki sam wynik. – Arount