Version control IntelliJ IDEA.IPR和.IWS文件上的合并
我们将IntelliJ.IPR和.IWS文件保存在源代码管理中,但IntelliJ只需打开它们,就可以不断修改它们,即使项目中没有任何工作Version control IntelliJ IDEA.IPR和.IWS文件上的合并,version-control,merge,intellij-idea,projects-and-solutions,Version Control,Merge,Intellij Idea,Projects And Solutions,我们将IntelliJ.IPR和.IWS文件保存在源代码管理中,但IntelliJ只需打开它们,就可以不断修改它们,即使项目中没有任何工作 我们做错了什么?一个解决方案是不要将IntelliJ项目置于源代码管理中。这意味着它们很容易重新创建 您可以告诉Subversion它应该忽略的文件。将IntelliJ文件添加到该列表中 “…即使没有在项目上做任何工作…”-这表明您经常打开IntelliJ而没有在项目上做任何有用的工作。也许这才是真正的问题。我不明白你为什么不做一些值得检查的事情就打开IDE
我们做错了什么?一个解决方案是不要将IntelliJ项目置于源代码管理中。这意味着它们很容易重新创建 您可以告诉Subversion它应该忽略的文件。将IntelliJ文件添加到该列表中
“…即使没有在项目上做任何工作…”-这表明您经常打开IntelliJ而没有在项目上做任何有用的工作。也许这才是真正的问题。我不明白你为什么不做一些值得检查的事情就打开IDE。修订数量增加的代价是什么?在我看来,很小
所以现在我改变了主意。签入IntelliJ项目文件,不要担心版本号的增加。它们不会让你付出太多的代价。如果不知道到底发生了什么变化,很难自信地回答这个问题,但我想说:
- IWS文件包含描述如何为该项目安排开发人员的IDE的信息(包括最近的更改历史记录、每个编辑器窗口的当前状态、哪些可停靠窗口可见以及哪些已折叠)。考虑到每个开发人员都应该被允许以他们喜欢的方式安排他们的工作空间,这些不应该处于源代码管理中
- IPR文件描述了项目代码的结构——我的意思是,哪些模块是项目的一部分,哪些build.xml文件要使用,在哪里可以找到库来编译代码等等。这可以在源代码管理中进行,但如果允许这些设置因开发人员的项目副本而异,你会遇到困难的
- workspace.xml
- dataSources.xml
- sqlDataSources.xml
- dynamic.xml
- projectCodeStyle.xml(因此我们可以在项目中获得一致的代码格式-同样,这可以根据开发人员的本地插件组合进行覆盖)
- runConfigurations文件夹下的任何文件。配置运行配置可能会很耗时,特别是当您有一个具有多个方面的复杂应用程序时。通过简单地打开IDE或构建而改变的最愚蠢的事情是RunnerSettings下的“DEBUG_PORT”选项。我的观点是,如果它是动态分配的,为什么不使用“动态”值呢
- misc.xml。该文件还包含插件配置。有些设置看起来很方便共享,而另一些则更适合个人配置。例如,IvyIDEA插件为你的ivy配置文件提供了一个绝对路径
- 模块文件。这些都是单独存在的,但是一个不必要的覆盖的例子是IvyIDEA插件,它将本地ivy缓存位置的详细信息放在这个文件中。但这也是插件的错,而不是真正的Jetbra