执行git stash apply出现rename/delete等冲突该如何解决
冲突类型说明
你遇到的冲突分为两类:
- rename/delete冲突:暂存(stash)内容里删除了
project_product_brand相关的旧文件,远程更新里将这些旧文件重命名为platform相关的新文件 - modify/delete冲突:远程更新删除了
public/js/app.js,但你暂存的内容里修改了这个文件
处理步骤
- 首先执行
git status确认当前所有冲突文件,确认没有其他未提交的无关变更 - 逐类处理冲突:
- 处理rename/delete类冲突:
若认可远程的重命名操作,保留重命名后的新文件,执行git rm 旧文件路径即可,需删除的旧文件列表如下:resources/views/adminside/project_product_brand/index.blade.phpresources/views/adminside/project_product_brand/edit.blade.phpresources/views/adminside/project_product_brand/create.blade.phpapp/Http/Requests/ProjectProductBrandRequest.php
若不认可远程的重命名操作,要保留你暂存的删除逻辑,执行git rm 新文件路径删除对应新文件即可
- 处理
public/js/app.js的modify/delete冲突:
若需要保留你暂存的修改内容,执行git add public/js/app.js标记为已解决即可
若认可远程删除该文件的操作,执行git rm public/js/app.js即可
- 处理rename/delete类冲突:
- 所有冲突处理完成后,执行
git stash drop删除已应用的暂存记录(确认暂存内容没有其他需要保留的变更后操作) - 处理推送被拒的问题,执行
git pull origin main --rebase将远程main分支的更新合并到你本地的提交之前,若过程中出现新冲突按上述逻辑解决后执行git rebase --continue即可 - 合并完成后执行
git push origin main即可正常推送变更
注意事项
- 操作前可执行
git stash list确认暂存记录,避免误删未备份的内容 - 处理冲突前可同步另一位开发确认重命名、删除文件的操作是否为对方提交的有效变更,避免误改
内容的提问来源于stack exchange,提问作者mstdmstd
相关产品推荐
相关产品推荐

