GitHub 代码上传与故障排除实战指南

第一阶段:标准上传流程

如果你是在一个全新的本地目录下开始,请按此顺序操作:

1.初始化与提交

javascript 复制代码
git init
git add .
git commit -m "initial commit"

2.关联远程仓库

javascript 复制代码
git remote add origin https://github.com/*

3.推送代码

javascript 复制代码
# 强制将本地 master 推送到远程 main 并建立跟踪
git push -u origin master:master -f

第二阶段:常见问题与解决方案

问题 1:远程仓库包含本地没有的文件 (Rejected)

报错信息: ! [rejected] master -> main (fetch first)

原因: GitHub 仓库在创建时自带了 README 或 License,导致历史记录不一致。

解决方案(二选一):

合并法: git pull origin main --allow-unrelated-histories

覆盖法(慎用): git push -u origin master:main -f

问题 2:单个文件超过 100MB 限制

报错信息: remote: error: File server/data.db is 905.44 MB; this exceeds GitHub's file size limit

原因: GitHub 禁止上传超过 100MB 的单个文件。

解决方案:彻底抹除历史记录

1.使用滤镜工具删除历史中的大文件:

javascript 复制代码
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch **/**" \
--prune-empty --tag-name-filter cat -- --all

2.设置 .gitignore 防止再次误加:

javascript 复制代码
echo "server/data.db" >> .gitignore

3.再次强制推送:

javascript 复制代码
git push -u origin master:master-f
相关推荐
Hello_Embed10 小时前
嵌入式上位机开发入门(三):TCP 编程 —— Server 端实现
笔记·单片机·网络协议·tcp/ip·嵌入式
中科三方10 小时前
详细教程:两个域名指向同一个网站,怎么设置域名解析?
github·dns
talen_hx29610 小时前
《零基础入门Spark》学习笔记 Day 11
笔记·学习·spark
ZhiqianXia11 小时前
gem5 模拟器学习笔记(1):核心术语整理
笔记·学习
冬奇Lab11 小时前
一天一个开源项目(第62篇):lark-cli - 飞书/Lark 官方 CLI 与 AI Agent Skills
人工智能·开源·资讯
第一程序员12 小时前
Python与前端集成:构建全栈应用
python·github
zt1985q12 小时前
本地部署开源元搜索引擎 SearXNG 并实现外部访问
服务器·网络协议·开源
凌波粒12 小时前
D2L学习笔记:安装、张量与数据处理
笔记·python·学习·pandas
taoqick12 小时前
FIPO粗读笔记
笔记
子兮曰13 小时前
CLI正在吞掉GUI:不是替代,是统治,AI时代的入口争夺战
人工智能·github·命令行