Android Studio .iml git问题

时间:2015-06-29 18:44:30

标签: android git android-studio version-control ide

当我尝试制作“git pull”时,我收到以下消息:

  

错误:以下未跟踪的工作树文件将被合并覆盖:       blablabla.iml   请在合并之前移动或删除它们。   中止

我尝试检查.iml并将其添加到我的gitignore,但我一直收到此消息。有人知道如何解决它吗?

此致

2 个答案:

答案 0 :(得分:2)

Git不会允许你执行一次拉动,导致你丢失工作目录中的变化(这很明显是原因)。

将文件添加到.gitignore将告诉git不要将对该文件的更改推送到其他存储库,但它不会阻止您将这些文件的其他存储库更改。所以这实际上对你正在尝试的操作没有影响。作为旁注,建议不要将iml文件放在.gitignore中:What should be in my .gitignore for an Android Studio project?

这就是我要做的事情:

  1. 存储您的本地更改:git stash save "My iml changes"
  2. 然后查看代码:git pull
  3. (可选)从存储中获取您的本地更改:git stash pop。或者,如果您愿意,git stash drop stash@{0}(正如@LoyalRayne指出的那样,您可能不需要这些更改)。查看与git stash show stash@{0}
  4. 的差异

答案 1 :(得分:1)

如果您想要当前在回购中的内容,可以先使用git checkout blablabla.iml恢复本地更改,然后拉动。或者,如果您想保留本地更改,请执行git stash,然后git pull,然后git apply

完成上述步骤后,您可以将文件添加到.gitignore。确保使用git rm --cached blablabla.iml将其从源代码管理中删除。请注意,当它从源代码管理中删除时,它会在其他人的机器上执行下一个git pull时被删除,因此他们会想要创建备份。