用于清理 Git 缓存、重新提交源码并强制推送到 GitHub
# 1. 添加所有文件(根据 .gitignore 忽略规则过滤掉你不希望提交的文件)
git add .
# 2. 删除缓存中的 node_modules/、dist/、.history/、bfg.jar、yt-dlp.exe(不影响本地文件)
git rm -r --cached node_modules dist .history bfg.jar yt-dlp.exe || echo "某些文件不存在,跳过"
# 3. 提交更改
git commit -m "Clean up ignored files"
# 4. 强制推送到 GitHub(适用于重写历史或解决远程冲突)
git push origin main --force
忽略不存在的路径
既然 dist/
、.history/
、node_modules/
、bfg.jar
、yt-dlp.exe
这些文件或目录 已经不在 Git 跟踪列表中 ,那你就不需要再删除它们了。
# 查看当前状态
git status
常用选项(flags)
命令 | 说明 |
git ls-files | 列出所有 Git 当前跟踪的文件 |
git ls-files --stage | 显示文件的“模式”和“blob ID”,用于查看 Git 内部信息 |
git ls-files --others | 显示未被 Git 跟踪的文件(也就是未添加到索引的文件) |
git ls-files --modified | 显示被修改但尚未提交的文件 |
git ls-files --deleted | 显示已经被删除但尚未提交的文件 |
git ls-files --cached | 显示 Git 缓存中已跟踪的文件(默认行为) |
git ls-files --killed | 显示工作目录中被忽略但存在本地的文件 |
这个命令会输出所有当前 已被 Git 跟踪的文件路径列表 ,这些文件是:
- 已提交过的历史文件
- 或者已经运行过
git add
的文件
它不会显示未被 Git 跟踪的文件(比如没有运行过 git add
的新文件)
提交你希望保留的内容
1. 只添加你想提交的源码文件
git add index.html main/main.js package.json
或者一次性添加所有你修改过的源码文件(不包括未跟踪的大文件):
git add -u
-u
表示只添加“已被 Git 跟踪的文件”的修改内容,不会添加新文件(比如 .history/
, node_modules/
不会被加入)
2. 提交源码更改
git commit -m "更新 index.html 和 main.js"
强制推送(仅限你一个人使用的分支)
git push origin main --force
⚠️ 注意:使用 --force
是为了覆盖远程分支的历史,请确保你了解它的影响。
只上传(提交并推送)README.md
这一个文件
你可以使用以下命令来完成操作:
# 1. 只添加 README.md 到暂存区
git add README.md
# 2. 提交更改
git commit -m "Update README.md"
# 3. 推送到远程仓库的 main 分支
git push origin main