You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用GitPython调用rev_list?代码报错求助

修复GitPython调用rev_list的错误

问题出在参数传递方式上:使用GitPython的repo.git调用Git命令时,不能将多个参数合并为单个字符串传入,必须把每个命令选项、参数拆分成独立的字符串元素。

你原代码里把--since="2024-01-01" master作为单个参数传给rev_list,导致Git将整个字符串识别为无效选项,从而抛出用法错误。

修改后的代码如下:

import git

repo = git.repo.Repo('..')
# 将参数拆分为独立字符串,无需额外添加引号
res = repo.git.rev_list('--since=2024-01-01', 'master').split('\n')

关键说明

  • GitPython会自动处理参数的引号转义,因此参数值不需要额外加双引号,直接写--since=2024-01-01即可。
  • 命令的每个选项、分支/路径参数都要作为独立字符串传入,比如把--since相关参数和分支名master拆分为两个参数。

修改后代码生成的Git命令会和你在命令行执行的一致,就能正常获取符合条件的提交哈希列表。

内容的提问来源于stack exchange,提问作者Dmitry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 08:31:03