当前位置: 首页 > 知识库问答 >
问题:

是否强制在版本控制中保存*.iml文件?

严阳秋
2023-03-14

我现在已经切换到Android Studio,并用源代码树在Git中保存我的项目。每当我从模块中添加或删除任何库时,它的.iml文件也会更改。如果我提交*.iml真的无关紧要,因为它们是在其他Android Studio中自动生成的。但是,在这里它说您应该存储*.iml。我的问题是,我们真的需要和别人分享我们的*.iml吗?若有,原因为何?

共有3个答案

阎善
2023-03-14

我同意它们是与代码无关的IDE依赖的文件,它们不应该被共享。但是,那么你应该知道如何再生它们。

您可能会遇到远程回购不包含这些文件的情况,并且当您克隆代码并打开IDEA时,它只是显示了一堆错误。为什么?*.iml文件不会重新生成。

您必须使用“文件”-“新建”-“来自版本控制的项目”从IDEA导入。只有这样才能为您生成文件。

高兴贤
2023-03-14

是的,.iml文件适用于版本控制(参见此注释)

使项目尽可能地与IDE无关也是正确的,然而,共享.iml文件并不会破坏使用另一个IDE开发的人的任何东西。对他们来说,它们只是一堆与他们无关的相对较小的文件。

对于同时使用不同IDE的团队来说,一个好的实践是将每个IDE的项目文件存储在VC中,只排除那些包含特定于单个开发人员环境的路径、环境变量等的文件。这样,任何使用受支持的IDE之一的人都可以享受适当的共享设置的好处,例如:

  • 共享生成配置
  • 共享依赖关系
  • 自动代码质量检查的配置

有更多的用例,这取决于所使用的特定IDE。编辑:对于IntelliJ,请参阅此常见问题解答

柳梓
2023-03-14

一般最佳做法是:

  • 使项目尽可能与IDE无关,
  • 不提交生成的文件。

所以答案是:对于风投来说,最好让这样的文件被忽略。

 类似资料:
  • 你可以把一个版本控制系统(缩写VCS)理解为一个“数据库”,在需要的时候,它可以帮你完整地保存一个项目的快照。当你需要查看一个之前的快照(称之为“版本”)时,版本控制系统可以显示出当前版本与上一个版本之间的所有改动的细节。 版本控制与项目的种类,使用的技术和基础框架并无关系: 无论是设计开发一个HTML网站或者是一个苹果应用,它的工作原理都是一样的。 你可以选择任何你喜欢的工具来工作,它并不关心你

  • 本章提供了网络 API 的版本控制指南。由于一个 API 服务可能提供多个 API 接口),因此 API 版本控制策略适用于API 接口级别,而不适用于 API 服务)级别。 为了方便起见,术语 API 指的是以下各节中的 API 接口。 网络API应该使用语义化的版本。比如给定版本号 MAJOR.MINOR.PATCH: 当做出不兼容修改的时候,修改 MAJOR 版本号 当以向后兼容的方式添加功

  • 你要为项目做版本控制,学会为项目做版本控制,是开发者的必备技能。用的工具叫 git。 git git 是一种版本控制工具,工具的使用只是一个熟练过程。 https://git-scm.com/ 安装 可以在 git 官网下载适合自己操作系统上用的 git 。也可以使用系统包管理去安装 git,Windows 如果下载了完整版的 cmder ,里面已经包含了 git 。 Windows Window

  • 版本控制 版本管理涉及团队协作,产品质量,和产品上线。使用版本控制工具可使我们自由的做的一些几点: 回退到任意版本 查看历史版本 对比两个版本差异 版本控制系统 版本控制系统(Version Control System)是一种记录若干文件修订记录的系统,它可以帮助开发者查阅或回档至某个历史版本。 手动版本控制 LVCS 本地 CVCS 集中式(例如 SVN) DVCS 分布式(例如 Git) 手

  • 版本控制 软件配置管理, 版本控制的一个组成部分, 也称为校正控制或源码控制, 用于管理文档, 计算机程序, 大型网站和其它信息集合的变化. 变化通常被定义为一串数字或字母代码, 被称为 "版本编号", "版本标识", 或简称"版本". 举个例子, 初始的文件集合是"版本1", 当第一个改变文件时, 就变成了"版本2"等等. 每一个版本都和一个时间戳和做出改变的人联系在一起. 版本可以被比较, 恢

  • 一个版本控制系统(或修订控制系统)是跟踪和控制项目文件变更的技术与实践的组合,包括源代码、文档和网页。如果你以前从来没有使用过版本控制,那你最好赶快找一个有经验的人加入。现今,所有的人都希望你的项目源代码存放在版本控制下,如果不使用版本控制,人们将会轻视项目。 版本控制如此广泛的原因是因为它实际上能帮助运营一个项目的所有方面:内部开发者交流、发布管理、Bug管理、代码稳定性和试验开发投入,以及对某