我想獲取當前git-repo的已更改文件的列表。當調用git status
時,通常在Changes not staged for commit:
下列出的文件。使用gitpython獲取更改的文件
到目前爲止,我已經成功地連接到存儲庫,把它和顯示所有未跟蹤文件:
from git import Repo
repo = Repo(pk_repo_path)
o = self.repo.remotes.origin
o.pull()[0]
print(repo.untracked_files)
但現在我想告訴所有的文件,有變化(不COMMITED)。任何人都能把我推向正確的方向嗎?我查看了repo
方法的名稱並嘗試了一段時間,但我找不到正確的解決方案。
顯然我可以打電話repo.git.status
並解析這些文件,但那根本不算優雅。必須有更好的東西。
編輯:現在我想到了。更有用的將是一個函數,它告訴我單個文件的狀態。像:
print(repo.get_status(path_to_file))
>>untracked
print(repo.get_status(path_to_another_file))
>>not staged
可能的重複[如何使用GitPython獲取分階段文件?](http://stackoverflow.com/questions/31959425/how-to-get-staged-files-using-gitpython) – user38034