💡
原文英文,约2400词,阅读约需9分钟。
📝
内容提要
用户希望在浏览器中直接编辑GitHub仓库文件以修正错字,但由于授权和安全问题,修改过程复杂,包括获取文件内容、创建分支、上传修改和提交拉取请求。作者描述了实现步骤和挑战,期望简化流程。
🎯
关键要点
-
用户希望在浏览器中直接编辑GitHub仓库文件以修正错字。
-
修改过程复杂,包括获取文件内容、创建分支、上传修改和提交拉取请求。
-
GitHub的编辑器易于使用,但需要提交权限。
-
获取文件内容相对简单,但将修改后的内容返回GitHub则较为复杂。
-
需要遵循一系列步骤来确保只有授权用户可以更改仓库状态。
-
每个请求需要附带一个具有有限时效的唯一令牌。
-
步骤包括获取文件内容及其SHA、获取最新的SHA或提交、创建新分支、将编辑后的文件复制到新分支、提交拉取请求。
-
在浏览器中执行的步骤需要使用JavaScript实现。
-
需要创建一个安全的环境来存储令牌并与GitHub进行交互。
-
作者记录了自己的过程,以帮助其他可能面临类似问题的人。
❓
延伸问答
如何在浏览器中直接编辑GitHub仓库文件?
用户可以通过获取文件内容、创建分支、上传修改和提交拉取请求来编辑GitHub仓库文件。
为什么在GitHub上编辑文件需要复杂的授权过程?
因为GitHub需要确保只有授权用户才能更改仓库状态,防止恶意修改。
在编辑文件时,如何获取文件的SHA值?
可以通过GitHub的API获取文件内容时,文件的SHA值会一并返回。
提交拉取请求(PR)需要哪些信息?
提交PR需要id-token、仓库名称、分支名称、PR标题和描述等信息。
如何确保在浏览器中安全地处理id-token?
需要在一个安全的环境中存储id-token,并通过容器与GitHub进行交互,以防止被恶意提取。
在编辑GitHub文件时,如何处理编辑后的内容?
编辑后的内容需要以BASE64格式传输,并通过API将其上传到新的分支。
➡️