使用gh-pages部署React项目时遇本地文件覆盖错误求助
解决gh-pages部署React项目时的本地文件冲突问题
错误信息
error: Your local changes to the following files would be overwritten by checkout:
build/asset-manifest.json
build/service-worker.js
Please commit your changes or stash them before you switch branches.
Aborting
解决方案
这个错误是因为本地build目录下的文件存在未提交的修改,gh-pages部署时需要切换分支,导致文件冲突。根据你的需求选择以下方案:
方案1:暂存本地修改(后续可恢复)
- 执行命令暂存当前修改:
git stash - 重新运行部署命令(比如
npm run deploy或yarn deploy) - 若之后需要恢复暂存的修改,执行:
git stash pop
方案2:提交本地build文件的修改(确认修改需保留)
- 将build目录的修改加入跟踪:
git add build/ - 提交修改:
git commit -m "同步build文件修改" - 再次运行部署命令
方案3:放弃本地build文件的修改(确认修改无用)
- 直接丢弃指定文件的修改:
git checkout -- build/asset-manifest.json build/service-worker.js - 或者清空build目录后重新构建:
rm -rf build/ && npm run build(或yarn build) - 完成后运行部署命令
额外提示
如果更新令牌后仍有其他权限问题,可检查本地git凭据是否已更新(比如Windows凭据管理器、Mac钥匙串),确保git能正确访问你的GitHub仓库。
内容的提问来源于stack exchange,提问作者Tomas O. Rosenvind Rieck
相关产品推荐
相关产品推荐

