如何从github API的重命名文件中获取原始文件?
例如,我们看到现在存在一个名为如何从github API的重命名文件中获取原始文件?,git,github-api,Git,Github Api,例如,我们看到现在存在一个名为renamedfile.js的文件。我的问题是。。如何确定此文件以前是什么 如果我看一下,我可以看到它以前是newfile.js。但是,如果提交时编辑/添加了许多文件,该怎么办?我该如何判断呢?没有直接的方法可以做到这一点,但您可以通过以下方法可靠地完成这一点: 获取“重命名”提交()的树 获取“重命名”文件(11096a58b82b44aab2fda131badf668ea9272783)的哈希值 获取“重命名”提交()的父级 在“重命名”提交的父提交之一或相同的
renamedfile.js
的文件。我的问题是。。如何确定此文件以前是什么
如果我看一下,我可以看到它以前是
newfile.js
。但是,如果提交时编辑/添加了许多文件,该怎么办?我该如何判断呢?没有直接的方法可以做到这一点,但您可以通过以下方法可靠地完成这一点:
现在,GitHub API中指定了一个字段。 如果您查看提供的API调用,则会看到一个字段名
previous\u filename
"files": [
{
"sha": "11096a58b82b44aab2fda131badf668ea9272783",
"filename": "renamedfile.js",
"status": "renamed",
"additions": 0,
"deletions": 0,
"changes": 0,
"blob_url": "https://github.com/shamoons/testrepo/blob/10c71ca13d09fa4a2009888cca9d8433c6eac188/renamedfile.js",
"raw_url": "https://github.com/shamoons/testrepo/raw/10c71ca13d09fa4a2009888cca9d8433c6eac188/renamedfile.js",
"contents_url": "https://api.github.com/repos/shamoons/testrepo/contents/renamedfile.js?ref=10c71ca13d09fa4a2009888cca9d8433c6eac188",
"previous_filename": "newfile.js"
}
]
(我知道这是一个老问题,但我想为什么不添加真正的答案,以防有人来看这里)您也可以写信给。缺少“old_filename”属性,在这种情况下会更好。散列是文件本身的SHA1还是其他一些散列?这是可行的,但是文件列表在没有分页的情况下限制为300,因此任何超过“file 301”的内容都不会出现在任何地方。