回购中的python-git结账文件

时间:2017-11-03 13:37:10

标签: python git

我试图使用python-git从远程更新存储库中的单个文件(checkout)。 当使用命令行执行此操作时,可能会使用git checkout <file>,但我还没有找到在python-git中执行此操作的正确方法? 到目前为止,我只能对整个仓库进行拉动,我想将其限制为仅一个文件

from git import Repo

repo = Repo('./')
origin = repo.remote()
ret = origin.pull()

2 个答案:

答案 0 :(得分:1)

从API,您可以使用Checkout

您可以将文件位置指定为 arg 以及要在 kwargs中结帐的版本

答案 1 :(得分:1)

我已经能够通过文档的这一部分做你想做的事情:Using git directly,它告诉我们某些特定的动作可能不会被包装。 这是我从远程做到你想要的唯一方法:

from git import Repo
repo = Repo('./')
origin = repo.remote()

cli = origin.repo.git
cli.checkout('origin/master', 'path/to/file')