WP-Engine托管WordPress站点Git推送失败:手动插件未同步至仓库求助
解决Git推送冲突并同步线上站点变更的步骤
1. 拉取线上远程分支的变更到本地
先确保本地main分支没有未提交的修改(可以用git status确认),然后执行命令拉取线上的变更:
git pull origin main
如果拉取时出现冲突,Git会直接提示冲突文件,你可以继续下一步处理。
2. 查看并处理冲突
- 用
git status查看冲突文件:Git会把有冲突的文件标记为both modified,列出来给你看。 - 打开冲突文件,里面会有Git自动添加的冲突标记,格式大概是这样:
<<<<<<< HEAD // 你本地分支的代码内容 ======= // 线上远程分支的内容(客户手动添加的插件/文件) >>>>>>> [远程提交的哈希值]
- 手动合并内容:根据需求保留或整合两边的内容,删掉冲突标记。比如客户添加的插件文件是需要保留的,就直接保留线上的那部分,或者和本地现有内容合并好。
3. 提交合并后的变更
冲突处理完后,把所有修改的文件加入暂存:
git add .
然后提交合并结果:
git commit -m "Merge remote main changes: sync client-added plugins and files"
4. 推送合并后的分支到远程
现在就能正常推送了:
git push origin main
后续预防建议
- 跟客户明确规则:不准直接在线上站点手动修改文件,所有变更都要走本地编码→Git提交→推送上线的流程,避免再出现这种冲突。
- 如果怕拉取操作覆盖本地未提交的修改,可以先建个临时分支备份当前状态:
git checkout -b backup-local-main git push origin backup-local-main
备份完再切回main分支做拉取合并操作。
内容的提问来源于stack exchange,提问作者Andy2021
相关产品推荐
相关产品推荐

