如何获取任何存储库文件的 sha 密钥

how do I get sha key for any repository' file

我想单独访问任何存储库文件的 sha 密钥。

如你所见。有一个文件结构,其中包含一个我用 gitpython 创建的 .git 目录。我可以获得用于表示所有文件的存储库 sha 密钥,如下所示;

from git import Repo

repo = Repo("graph/features")
master = repo.head.reference
print(master.commit.hexsha)

我的问题是我想为任何文件生成 sha 密钥,例如 file2.txt。有什么方法可以实现这一点。抱歉,我刚开始使用 gitPython。

然后读取文件

>>> import hashlib
>>> file_text = 'content'
>>> hashlib.sha256(file_text.encode()).hexdigest()
'ed7002b439e9ac845f22357d822bac1444730fbdb6016d3ec9432297b9ec9f73'
>>> 
repo = Repo.init(path).git
index = Repo(path).index

# add file to repo
repo.add(filename)
index.commit(message)

路径:存储库 (.git) 路径

filename : 您要添加哪个文件

消息:提交消息


之后使用方法作为休闲;

repo = Repo(path)
commit = repo.head.commit

sha = commit.hexsha