必须在html项目根目录(含index.html、css/、js/等的最外层目录)执行git init;.gitignore需屏蔽.ds_store、thumbs.db、~、..swp等;github pages部署应统一用main分支并确认settings中source设置一致。

HTML项目初始化时,git init 要在哪个目录执行
必须在你的 HTML 项目根目录下运行 git init,也就是包含 index.html、css/、js/ 等文件或文件夹的最外层目录。如果误在父级或子级目录执行,会导致 Git 跟踪不到关键文件,或者把不该纳入版本控制的路径也卷进来。
常见错误现象:git status 显示 “nothing to commit”,但明明改了 index.html;或者提交后别人拉代码发现缺 assets/ 文件夹。
- 执行前先
pwd(macOS/Linux)或cd(Windows)确认当前路径是否含index.html - 推荐初始化后立刻执行
git status,检查列出的未跟踪文件是否符合预期 - 如果项目已用 VS Code 打开,注意它默认以打开的文件夹为工作区——这个文件夹就该是
git init的位置
.gitignore 里必须屏蔽哪些 HTML 开发常见文件
静态 HTML 项目虽不编译,但本地开发常引入构建工具、浏览器插件缓存、编辑器临时文件,这些不该进仓库。漏写 .gitignore 会导致提交大量无意义内容,甚至泄露本地配置。
典型被误提交的文件:index.html~(Vim 交换文件)、.DS_Store(macOS 目录标记)、Thumbs.db(Windows 缩略图缓存)、dist/(若用了 Vite/Hugo 等工具生成的输出目录)。
立即学习“前端免费学习笔记(深入)”;
篇文章是针对git版本控制和工作流的总结,如果有些朋友之前还没使用过git,对git的基本概念和命令不是很熟悉,可以从以下基本教程入手: Git是分布式版本控制系统,与SVN类似的集中化版本控制系统相比,集中化版本控制系统虽然能够令多个团队成员一起协作开发,但有时如果中央服务器宕机的话,谁也无法在宕机期间提交更新和协同开发。甚至有时,中央服务器磁盘故障,恰巧又没有做备份或备份没及时,那就可能有丢失数据的风险。感兴趣的朋友可以过来看看
- 基础必备项:
.DS_Store、Thumbs.db、*~、.*.swp - 若用了 Live Server 插件,不用忽略
__pycache__/或node_modules/(纯 HTML 项目通常没有) - 如用 VS Code,加一行
.vscode/;但不要加*.html——那是要命的误操作
git add 后发现漏了某个 CSS 文件,怎么补救
刚 git add . 提交完,结果发现 css/style.css 没被加入——不是因为没这个文件,而是它被 .gitignore 拦住了,或当时不在暂存区。这时候别急着 git commit --amend,先定位真实原因。
使用场景:团队协作中,别人拉取代码后发现样式失效,查半天发现 css/ 根本没在历史记录里。
- 先运行
git check-ignore -v css/style.css,看是否被某条.gitignore规则命中 - 如果没被 ignore,但
git status不显示它,说明它可能处于“未跟踪”但被git add .跳过了(比如文件权限异常) - 安全补救方式:
git add css/style.css再git commit --amend --no-edit,但仅限尚未push的本地提交 - 已推送到远程?那就老老实实新提一次 commit,别硬 amend ——会破坏他人本地历史
用 GitHub Pages 部署 HTML 时,git push 的目标分支怎么选
GitHub Pages 对纯静态站点只认两个分支:对用户/组织页是 main(旧称 master),对项目页默认是 gh-pages 分支,但你也可以在 Settings → Pages 里改成 main 或 docs/ 目录。选错分支,页面就 404。
容易踩的坑:本地 git push origin main 成功,但 GitHub Pages 设置里仍勾选了 gh-pages 分支,导致推送白费;或者误把 gh-pages 当成必须分支,额外建分支又忘了设发布源。
- 最简方案:全部统一用
main分支 +/ (root)目录,然后在 Settings → Pages 中手动切换 Source 为main - 如果项目名是
username.github.io,必须用main(或master)分支,且首页必须是index.html在根目录 -
git push前务必去 Settings 页面确认当前生效的 Source,别凭记忆操作
.gitignore 是否生效、以及 GitHub Pages 的 Source 设置是否和你 push 的分支真正对齐——这两个点不出问题时一切安静,一出就是“页面打不开”这种哑巴亏。










