GitHub拉取请求中二进制文件无法删除?正确删除方法是什么?
为什么GitHub PR里二进制文件无法通过网页端删除?正确的删除方法是什么?
这个问题我之前处理PR时也碰到过,这不是GitHub的Bug,而是网页端的设计限制。原因很简单:二进制文件(比如图片、压缩包、可执行文件)无法在网页端预览或编辑,GitHub的网页文件操作功能(包括删除)只针对文本类文件开放,避免因加载大体积/非文本文件导致的页面卡顿或操作失败。
那要删除PR里的二进制文件,有两种靠谱的方法:
方法1:让PR提交者自行移除
如果提交者方便操作,让他们在本地仓库完成删除后重新推送是最直接的:
- 切换到PR对应的本地分支:
git checkout <pr-branch-name> - 删除目标二进制文件:
git rm <path/to/binary-file.ext> - 提交更改:
git commit -m "移除不必要的二进制文件" - 推送到远程分支:
git push origin <pr-branch-name>
推送完成后,PR页面会自动同步更新,该文件就会显示为已删除状态。
方法2:维护者直接操作PR分支
如果提交者没法处理,你作为仓库维护者可以自己动手:
- 先把提交者的仓库添加为本地远程:
git remote add <contributor-username> https://github.com/<contributor-username>/<repo-name>.git - 拉取PR对应的分支:
git fetch <contributor-username> <pr-branch-name> - 切换到该分支:
git checkout <contributor-username>/<pr-branch-name> - 删除二进制文件:
git rm <path/to/binary-file.ext> - 提交更改:
git commit -m "从PR中移除不必要的二进制文件" - 推回提交者的分支:
git push <contributor-username> HEAD:<pr-branch-name>
完成推送后,PR会自动更新,你就能看到文件已被移除,之后正常合并PR即可。
内容的提问来源于stack exchange,提问作者John Doe




