我已经用GitPython克隆了一个仓库,现在我想 checkout 一个分支,并使用该分支的内容更新本地仓库的工作树。理想情况下,我还可以在执行此操作之前检查分支是否存在。这是我到目前为止所拥有的:
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")
我不知道该用什么来代替上面的评论。文档似乎给予了一个如何分离HEAD的例子,但没有给出如何 checkout 一个命名的分支的例子。
2条答案
按热度按时间g6ll5ycj1#
如果存在分支:
如果没有:
repo.git.action("your command without leading 'git' and 'action'")
,例如:git log --reverse
=>repo.git.log('--reverse')
*oogrdqng2#
gitpython
中的分支的相同检出(与repo.git.checkout(..)
相同)可以通过**“高级Repo用法”**(低级API)实现,如下所示: