git pullUpdating f6cb070ae2b…a3f83d32c72error: Your local changes to the following files would be overwritten by merge:Please move or remove them before you merge.Git 报错是因为它检测到服务器上有更新但你的本地有未提交的改动且文件名发生了冲突。按照以下步骤操作可以完美解决并同步代码第一步保存你的代码更改对于那两个strings.xml文件因为你确认本地是最新且正确的所以直接提交它们# 1. 将你需要保留的 strings.xml 添加到暂存区# 2. 提交到本地仓库 (或者你可以写一个暂时的 commit)gitcommit-mSave local strings.xml updates before pull第二步处理不需要上传的脚本文件对于 你不想上传它们但又不想丢失本地修改。根据刚才的建议使用assume-unchanged来“隐藏”它们git update-index --assume-unchanged Version.sh第三步处理 untracked 文件报错提示 正在阻塞合并。既然你已经把它复制备份到~/目录了那么直接删掉工作区的这个文件即可rmlunch第四步执行 Git Pull现在你的本地工作区已经干净或已隐藏了冲突可以顺利执行git pull了gitpull操作后的检查与处理如果git pull顺利完成你的strings.xml已经被合并到了最新的代码树中。你的脚本文件.sh因为开启了assume-unchangedgit 不会去碰它们保持了你本地修改的版本。如果以后想恢复脚本文件的提交权限如果你以后某天想修改这些脚本并提交到服务器记得先恢复它们git update-index --no-assume-unchanged file1git update-index --no-assume-unchanged file2总结git add-git commit是 Git 处理冲突最标准的方法。只要你把改动 commit 掉Git 就认为你已经“处理”了这些改动合并merge时就不会再因为“overwrite”报错了。