如何通过 gitpython 检查 Git Repo 是否有未提交的更改

How to check if a Git Repo has uncommitted changes by gitpython

我试过了

g = git.Repo(r'C:\Users\Administrator\Desktop\testRepo')
print g.untracked_files

但是得到了:

git.exc.GitCommandNotFound: [Error 2]

这是一个错误吗?

当我完全相同时,我没有出现此错误。

您的 ${PATH} 变量中是否有 git 可执行文件? 如果您使用的是 bash,则可以 运行 export PATH=$PATH:/path/to/your/git/executable

来自 exc.py gitpython:

class GitCommandNotFound(Exception): """Thrown if we cannot find thegitexecutable in the PATH or at the path given by the GIT_PYTHON_GIT_EXECUTABLE environment variable""" pass 可以假设设置该环境变量也可能有所帮助。

您也可以直接从 python 以独立于平台的方式设置 env 变量,如此处详述,而不是修改您的启动脚本(又名 ~/.bash_profile 或类似的):

Python: Platform independent way to modify PATH environment variable