当我尝试制作“git pull”时,我收到以下消息:
错误:以下未跟踪的工作树文件将被合并覆盖: blablabla.iml 请在合并之前移动或删除它们。 中止
我尝试检查.iml并将其添加到我的gitignore,但我一直收到此消息。有人知道如何解决它吗?
此致
何
答案 0 :(得分:2)
Git不会允许你执行一次拉动,导致你丢失工作目录中的变化(这很明显是原因)。
将文件添加到.gitignore将告诉git不要将对该文件的更改推送到其他存储库,但它不会阻止您将这些文件的其他存储库更改。所以这实际上对你正在尝试的操作没有影响。作为旁注,建议不要将iml文件放在.gitignore中:What should be in my .gitignore for an Android Studio project?。
这就是我要做的事情:
git stash save "My iml changes"
git pull
git stash pop
。或者,如果您愿意,git stash drop stash@{0}
(正如@LoyalRayne指出的那样,您可能不需要这些更改)。查看与git stash show stash@{0}
。答案 1 :(得分:1)
如果您想要当前在回购中的内容,可以先使用git checkout blablabla.iml
恢复本地更改,然后拉动。或者,如果您想保留本地更改,请执行git stash
,然后git pull
,然后git apply
。
完成上述步骤后,您可以将文件添加到.gitignore
。确保使用git rm --cached blablabla.iml
将其从源代码管理中删除。请注意,当它从源代码管理中删除时,它会在其他人的机器上执行下一个git pull
时被删除,因此他们会想要创建备份。