如何锁定GitHub公共仓库中的特定文件仅本人可访问?
结论
不行,公开GitHub仓库没有单文件私有访问的功能。只要文件被提交到公开仓库,所有能访问仓库的人都能看到、下载这个文件,哪怕你之后把文件删了,提交历史里还是能找到对应的内容,不存在给单个文件开权限白名单只让你自己看的设置。
适配Vercel部署场景的可行解决办法
- 用Vercel环境变量存敏感内容
如果这个必需文件存的是密钥、接口配置这类信息,根本没必要把文件传到公开仓库。你直接去Vercel的项目设置页找环境变量配置项,把文件里的配置内容拆成对应的环境变量存进去,代码运行、构建的时候直接读环境变量就行。这些环境变量只有你作为项目所有者能看,普通访客、甚至给你提PR的协作者都拿不到,是这类场景最常用的标准方案。 - 把敏感文件放到私有存储
如果必须用独立文件的形式,你就把这个文件放到你自己的私有对象存储、或者单独建一个私有仓库存。之后把拉取这个文件的命令写到Vercel的构建脚本里,拉取用的访问密钥存在Vercel环境变量里,部署的时候自动把文件拉到构建环境就行,整个过程不会把文件内容暴露到公开仓库。 - 直接把项目仓库改成私有
如果你就是想把文件放在代码仓库里,直接把整个GitHub仓库转成私有就行。私有仓库可以单独给协作者开权限,你自己保留完整权限,其他人没法随便看仓库里的敏感文件,而且Vercel本身就支持对接私有GitHub仓库自动部署,不会影响你原来的部署流程。
别想着靠改文件名、加
.gitignore的方式藏文件。.gitignore只会拦着你本地没提交的文件不上传,只要这个文件曾经被提交到公开仓库,就有被人爬走的风险。要是你之前已经把敏感文件传到公开仓库过,第一时间把文件里涉及的密钥、令牌全部换新的,别等泄露了出问题。
内容的提问来源于stack exchange,提问作者סרגיי לוייב
相关产品推荐
相关产品推荐

