Gatsby develop V4切换Git分支后页面未正常显示对应版本问题
解决Gatsby分支切换后内容不更新的问题
核心原因
你遇到的问题本质是Git工作区文件没有随分支切换同步——两个分支下同一个文件都显示待提交,说明这个文件在切换分支时被Git保留了(因为有未提交的变更),导致Gatsby构建时一直用的是新分支的文件内容,哪怕你切回了master。
解决步骤
彻底清理Git工作区的残留变更
- 切换分支前,必须把当前分支的所有变更处理干净:要么用
git add . && git commit -m "提交变更说明"提交,要么用git stash暂存(之后要恢复变更的话用git stash pop)。 - 切回master分支后,执行
git reset --hard HEAD,强制让工作区文件和master分支的最新提交完全一致,彻底清除残留的变更文件。
- 切换分支前,必须把当前分支的所有变更处理干净:要么用
确保Gatsby缓存被完全清除
- 不要只依赖
gatsby clean,可以手动删除构建缓存文件夹:- macOS/Linux环境:
rm -rf .cache public - Windows环境:
rmdir /s /q .cache public
- macOS/Linux环境:
- 清除缓存后再执行
gatsby develop启动开发服务。
- 不要只依赖
验证工作区状态
- 每次切换分支后,先运行
git status,确认输出显示nothing to commit, working tree clean,再启动Gatsby服务,这样就能保证构建用的是当前分支的文件。
- 每次切换分支后,先运行
额外提醒
后续开发新功能时,务必确保当前分支工作区干净后再切换分支,避免变更残留导致Git分支切换不彻底,进而影响Gatsby的构建结果。
内容的提问来源于stack exchange,提问作者Raul Reyes
相关产品推荐
相关产品推荐

