Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gitpython检查使用PYTHON的文件中是否有任何更改_Python_Git_Gitpython - Fatal编程技术网

gitpython检查使用PYTHON的文件中是否有任何更改

gitpython检查使用PYTHON的文件中是否有任何更改,python,git,gitpython,Python,Git,Gitpython,我正在试验gitpython,我对它还不熟悉。我正在尝试检测是否有为提交而进行的任何更改 目前,我有一个函数如下所示: def commit(dir): r = Repo(dir) r.git.add(A=True) r.git.commit(m='commit all') for x in r.index.diff("HEAD"): # Just print print(x) # Or for each entry you can find out informat

我正在试验gitpython,我对它还不熟悉。我正在尝试检测是否有为提交而进行的任何更改

目前,我有一个函数如下所示:

def commit(dir):
r = Repo(dir)
r.git.add(A=True)
r.git.commit(m='commit all')
for x in r.index.diff("HEAD"):
    # Just print
    print(x)

    # Or for each entry you can find out information about it, e.g.
    print(x.new_file)
    print(x.b_path)
但这只是提交目录的代码。我想做一些事情,比如,如果有变化,那么显示一些消息,否则,显示另一条消息


有人知道如何在python中实现吗?

您可以检查所有未老化的更改,如下所示:

def commit(dir):
r = Repo(dir)
r.git.add(A=True)
r.git.commit(m='commit all')
for x in r.index.diff("HEAD"):
    # Just print
    print(x)

    # Or for each entry you can find out information about it, e.g.
    print(x.new_file)
    print(x.b_path)

基本上,您是在将暂存区域(即
索引
)与活动分支进行比较。

更改的\u文件=[item.a\u self.my\u repo.index.diff(self.branch\u name)]
这很好。谢谢你的提醒。