SEO 百科
Git 与版本管理
本页目录
Git 与版本管理
Git 是分布式版本管理工具,把文件的每一次变更记成带作者、时间与父提交的快照,分支与合并让多份改动可以并行推进[1]。对站点而言,它带来的不是"能回滚"这么简单,而是线上状态能被指到一个确定的版本。
三条实际用途
变更可追溯。改动内容、谁改的、什么时候改的都在历史里,故障定位时能对到监控曲线上的一个点[1]。
回退有路径。发布出问题时,切回上一个已知好的提交比手工删改可靠;带数据库结构变更时还要一起处理数据侧[2]。
配置与内容分开管。代码、模板、配置进仓库,上传的图片与用户数据不进仓库,仓库才不会变成备份的替代品。
什么不该进仓库
明文凭据、备份文件、日志与缓存目录、本地环境配置。这三类进仓库带来的风险比方便大[3]。.gitignore 用来把这几类排除在外,忽略规则要与部署脚本对得上[1]。
生成物(编译后的静态文件)是否入库要看部署方式:静态站点生成器常常连产物一起发,避免线上环境重复构建[4]。
与 SEO 的接点
改版最容易丢的是老地址。有版本历史时,某一批 URL 在哪一次变更里消失,都能查清,配对重定向就有的根据[2]。发布同时更新站点地图也是靠提交流程串起来,Google 建议以提交站点地图的方式让引擎了解变更[5]。
常见误用
第一种是把线上目录当仓库,本地与线上互相覆盖,最后靠时间戳猜哪份新。第二种是把 robots.txt 的测试版本合并进主线并发布,整站被屏蔽。第三种是把数据库导出随手提交,凭据与用户数据一起进历史[3]。
附录
参见
参考资料
官方(境外)
- 《Git 文档》,Scott Chacon 等。
- 《使用 301 重定向将网址迁移到 Google 搜索》,Google 搜索中心。
- 《GitHub 关于密钥与凭据的建议》,GitHub。
- 《Hugo 文档》,Hugo 项目。
- 《了解站点地图》,Google 搜索中心。
外部链接
- Pro Git 中文版,Scott Chacon、Ben Straub。