强制Git拉取仍遇HEAD冲突,本地WordPress环境文件缺失报错
解决本地WordPress与线上代码同步问题
核心诉求
线上WordPress运行正常,本地因升级不完全无法使用,需强制拉取线上完整代码,同时保留wp-config-local.php等本地独有文件,且不执行合并/变基操作。
问题现状
执行git fetch --all+git reset --hard origin/master后出现内部服务器错误与HEAD冲突;切换到main分支强制拉取后,wp-includes/html-api/等核心文件缺失,git状态显示工作区干净,但本地报错缺少核心PHP文件。
解决方案
1. 备份本地独有文件
将wp-config-local.php、本地自定义配置文件等复制到项目外的安全位置,避免操作中丢失。
2. 彻底清理本地Git环境
执行以下命令清理未追踪文件、缓存及残留目录:
git clean -fdx
参数说明:
-f:强制删除未追踪文件-d:删除未追踪的目录-x:忽略.gitignore规则,清理所有未被Git追踪的文件
3. 强制同步线上main分支代码
git fetch origin git reset --hard origin/main
该命令会直接将本地分支重置为线上main分支的最新状态,完全覆盖本地代码。
4. 恢复本地独有文件
将之前备份的wp-config-local.php等文件放回原位置,确保这些文件已添加到.gitignore中,避免被Git追踪或覆盖。
5. 修复核心文件缺失问题
若仍出现wp-includes下文件缺失,直接从线上拉取该目录的完整内容:
git checkout origin/main -- wp-includes/
此命令会强制用线上仓库的wp-includes目录覆盖本地对应目录。
6. 排查Git追踪异常
检查wp-includes是否被Git忽略:
git check-ignore -v wp-includes/
若输出显示该目录被.gitignore或exclude文件排除,修改对应文件移除忽略规则即可。
内容的提问来源于stack exchange,提问作者Myuser03
相关产品推荐
相关产品推荐

