Git 合并冲突提示
Local Changes Prevent from Merge
Your local changes will be overwritten by merge.
Commit, stash, or revert them to proceed.
DS Store

"Local Changes Prevent from Merge"
(本地更改阻止合并)
提示内容如下:
"Your local changes will be overwritten by merge.
Commit, stash, or revert them to proceed."
(你的本地更改将被合并操作覆盖。请先提交、暂存或还原这些更改,然后再继续。)
下方列出了一个文件:
.DS_Store(由 macOS 系统自动生成的隐藏文件,用于存储文件夹的显示属性)
整体意思是:当前工作目录中有未提交的本地更改(这里是 .DS_Store),因此 Git 拒绝执行合并操作,要求你先处理这些更改。
解决方案
1. 把当前所有改动压入一个临时"储藏"
git stash push -m "file before merge"
2. 现在工作区干净了,可以合并
git merge <目标分支>
# 或者
git pull
3. 合并完再把刚才的改动弹回来
# 如有冲突,按提示解决即可
git stash pop
优点:
-
不会丢失任何改动
-
历史记录保持干净(没有无意义的 .DS_Store 提交)
.DS_Store 的额外建议
-
个人开发:把
.DS_Store写进.gitignore,然后全局忽略echo '.DS_Store' >> ~/.gitignore_global git config --global core.excludesfile ~/.gitignore_global -
团队协作:把
.DS_Store写进项目根目录的.gitignore并提交,这样所有人都会忽略它。
