如何将无扩展名的大文件上传到GitHub?
Git LFS 并没有要求被跟踪的文件必须有扩展名,你可以通过指定完整文件路径的方式直接跟踪该无后缀可执行文件,具体操作步骤如下:
操作步骤
1. 回退包含大文件的未推送提交
首先清理掉之前已经提交了该大文件的未推送提交记录,避免后续推送依然触发大小校验:
# 回退最近1次提交到工作区,若包含该文件的提交更早,可调整HEAD~后的数字 git reset --mixed HEAD~1
2. 配置Git LFS跟踪目标文件
直接指定完整路径跟踪该无后缀文件,避免误跟踪其他文件:
# 跟踪指定路径的Godot无后缀可执行文件 git lfs track "Godot.app/Contents/MacOS/Godot" # 提交LFS配置文件 git add .gitattributes git commit -m "configure LFS to track Godot executable"
如果你需要批量跟踪项目内所有无后缀文件,可使用通配符规则:
git lfs track "**/!(*.*)"
3. 重新提交并推送
完成配置后正常提交文件推送即可:
git add Godot.app/Contents/MacOS/Godot git commit -m "add Godot executable via LFS" # 替换main为你实际使用的分支名 git push origin main
特殊情况处理
如果该大文件已经被提交到了更早的本地历史记录中,仅回退最近提交无法解决问题,需要执行迁移命令将历史中的对应文件转换为LFS格式:
git lfs migrate import --include="Godot.app/Contents/MacOS/Godot"
执行完成后再正常推送即可,操作前建议先备份本地项目避免数据丢失。
内容的提问来源于stack exchange,提问作者Richard Garfield
相关产品推荐
相关产品推荐

