我已经使用GitPython克隆了一个存储库,现在我想签出一个分支并使用该分支的内容更新本地存储库的工作树。理想情况下,我还可以在执行此操作之前检查分支是否存在。这就是我到目前为止所做的:
import git
repo_clone_url = "git@github.com: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")
我不确定在上述评论的位置放什么。 documentation似乎给出了如何分离HEAD的示例,而不是如何签出命名分支。
答案 0 :(得分:12)
如果分支存在:
Name rs.Fields("From").Value As rs.Fields("To").Value
如果不是:
repo.git.checkout('branchename')
基本上,使用GitPython,如果您知道如何在命令行中执行此操作,但不在API中,请使用repo.git.checkout('-b', 'branchename')
,例如:repo.git.action("your command without leading 'git' and 'action'")
=> git log --reverse