有没有办法仅使用 gitpython 库将补丁(以 diff 文件的形式)应用于 repo?
换句话说,是否有 gitpython 等效的 git-apply 命令?
解决方案是做
r = Repo('path-to-repo')
r.git.execute(['git','apply','patch.diff'])
我以前试过这个,但我在参数列表的开头省略了“git”,这给出了一个关于命令不存在的错误。
你可以直接使用git,像这样:
repo = git.Repo('repository_path')
repo.git.apply(['-3', 'patch-file'])
这将执行 git 命令:
git apply -3 patch-file