我是git的新手,但是我试图使用python检查git存储库中是否有未提交的更改。无论我尝试使用python运行什么命令,我似乎都会遇到相同的错误。这是我的代码:

from git import *
repo = Repo("path\to\my\repo")
lastCommit = repo.head.commit.committed_date
uncommitted = repo.is_dirty()


一切正常,直到运行错误的最后一行:

Traceback (most recent call last):
.
.
.
    raise GitCommandNotFound: [Error 2] The system cannot find the file specified


我也尝试了其他命令,但出现了同样的错误。例如,repo.index.diff(repo.head.commit)。我也尝试过运行repo.index.diff(None)repo.index.diff('HEAD')给出相同的错误。我真正想要的实际上是为我已命名为$ git status的存储库运行repo。我在Windows 7上使用的是Python 2.7.9和gitpython 1.0.1。不胜感激!

最佳答案

在您的特定示例(仅用于说明目的)中,您的"path\to\my\repo"将被理解为'path\to\\my\repo'。在路径的各个组成部分("path\\to\\my\\repo")之间使用双反斜杠。 \t被理解为制表符,\r被理解为回车符。另外,您可以在路径前放置r,如下所示:r"path\to\my\repo"

关于python - 如何使用Python检查Git Repo是否有未提交的更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31540449/

10-14 16:19