我试图使用python-git从远程更新存储库中的单个文件(checkout)。
当使用命令行执行此操作时,可能会使用git checkout <file>
,但我还没有找到在python-git中执行此操作的正确方法?
到目前为止,我只能对整个仓库进行拉动,我想将其限制为仅一个文件
from git import Repo
repo = Repo('./')
origin = repo.remote()
ret = origin.pull()
答案 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')