Git分支合并失败,丢弃修改后自动恢复,该如何解决?
Git合并时本地修改自动恢复的解决办法
1. 先确认文件是否该被Git跟踪
这个bootstrap/cache/services.php是框架自动生成的缓存文件,正常应该被Git忽略。先检查它在不在.gitignore里:
cat .gitignore | grep bootstrap/cache/services.php
如果没找到,说明它被错误提交到仓库了,先把它从Git跟踪中移除(不会删除本地文件):
git rm --cached bootstrap/cache/services.php
接着把它加到.gitignore里,防止以后再被提交:
echo "bootstrap/cache/services.php" >> .gitignore
提交这两个修改:
git add .gitignore git commit -m "不再跟踪bootstrap/cache/services.php并加入gitignore"
2. 彻底清理本地修改再合并
完成上面的步骤后,执行命令彻底丢弃该文件的本地修改:
git checkout HEAD -- bootstrap/cache/services.php
或者直接删掉这个缓存文件(后续可以重新生成):
rm bootstrap/cache/services.php
之后再执行合并:
git merge [你的目标分支名]
3. 处理自动生成的缓存
如果删完文件又自动出现,是项目的缓存生成机制在起作用(比如Laravel会自动生成缓存),合并完成后重新生成缓存就行:
# 以Laravel为例 php artisan config:cache
内容的提问来源于stack exchange,提问作者Jafar
相关产品推荐
相关产品推荐

