Android Studio .iml git 问题

Android Studio .iml git issue

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

error: The following untracked working tree files would be overwritten by merge: blablabla.iml Please move or remove them before you can merge. Aborting

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

此致

何塞

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. 的区别

如果您想要当前存储库中的内容,您可以先使用 git checkout blablabla.iml 还原本地更改,然后拉取。或者,如果您想保留本地更改,请执行 git stash,然后 git pull,然后 git apply

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