我们的团队刚刚从Netbeans转移到Intellij 9 Ultimate,需要知道通常应该从源代码控制中排除哪些文件/文件夹,因为它们不是"工作站可移植",即:它们引用仅存在于一个用户计算机上的路径.
据我所知,Intellij想要忽略大部分.idea项目,包括
.idea/artifacts/*
.idea/inspectionProfiles/*
.idea/copyright/*
.idea/dataSources.ids
.idea/dataSources.xml
.idea/workspace.xml
Run Code Online (Sandbox Code Playgroud)
但是,它似乎想要检查每个模块的根目录中存在的.iml文件.
我最初通过命令行检查整个.idea目录,这显然不知道Idea应该忽略什么.通常会忽略整个.idea目录吗?
简而言之:使用Intellij Idea(9)和Git的最佳实践是什么?
上下文
我们最近升级到Intellij创意版本9,并开始使用Git在现有项目上使用新功能.
我们主要使用git命令行来更好地学习该工具.但是我们认为我们会选择蜂巢头脑来找出git最佳实践的想法.
Idea UI与CVS和Git类似,但底层实现略有不同.
示例问题
例如: - 使用CVS,当我们有多个产品版本时,我们每个人都会拥有1-0,2-0,3-0等分支的本地副本,每个分支都有自己的Intellij文件(即.ipr,.iws等)."git方式"似乎有一个项目并使用'git branch'来切换分支.这很好,但是当你改变分支时,它会为想法创造巨大的开销(因为它必须重新加载每个已更改的文件,包括签入的jar).那么:你们每个"主要版本"还有一个单独的项目(.git),或者有一个项目并使用"git branch"吗?
- 使用Autostash是个好主意吗?
- 您是否自动将每个修改添加到您的git提交?或者稍后使用"git add"?
你有什么变化吗?
- 合并的最佳方式?
- 任何其他提示/提示/为你工作的东西等.
最后评论
我们仍然"在cvs中思考",所以这部分习惯于git; 部分已经习惯了Idea的Ui for git.
这些是相当基本的问题,因为我们仍然主要使用命令行.另外我听说10有更好/更强/更快的git集成工具
谢谢
我在PyCharm中阅读了Git集成,并从PyCharm创建了一个Git存储库.我在PyCharm中这样做是因为我希望PyCharm知道.idea文件夹是否应该被忽略,如果是这样的话,它会自动创建一个.gitignore带有该行的文件.idea/.
但它没有,所以我认为我不应该忽视这个.idea问题.但是,我做了一个快速搜索,发现某人的示例.gitignore文件,这里显然忽略了该.idea文件夹.
所以,我的问题是,.idea文件夹是否应该被忽略?
我们将IntelliJ .IPR和.IWS文件保存在我们的源代码控制中,但是只要打开它们,它们就会被IntelliJ修改,即使没有对项目进行任何工作.
我们做错了什么?
需要一个策略将Intellij IDEA项目文件放入Git.
主要问题是如果想法项目文件在git中,如何避免分支之间的合并冲突.
另一个问题是将它们保存在git中很方便吗?
我正试图将现有项目从蚂蚁中移除.我正在使用Intellij 13,我通过删除iml文件设法让一个模块在gradle下运行.但是,它坚持编写一个名称与目录名称而不是模块名称匹配的iml文件.
我认识到,对于单独工作的人或者在大型公司中单个团队工作的人来说,这可能不是一个问题,因为IDE和版本从高处流传下来.然而,这个项目涉及来自几家公司的各种承包商,他们都提供自己的IDE.Intellij的许可模式使得向外部承包商提供IDE变得不切实际,因为大多数工作都是在现场外完成的,一旦您发布许可证密钥,就无法收回或取消授权.
由于升级Intellij不是免费的,所以几乎不可能协调所有人立即进行升级,所以我使用基于文件的项目格式,项目文件命名ourproject.ij12.ipr1,另一个命名ourproject.ij13.ipr,目录foo中模块的iml文件是foo.ij12.iml和foo.ij13.iml
这很有效,而且政策是每个人都要等到12出来才能脱离12,这样我们就无法获得无限数量的版本,但我们也不必将我们的升级同步到纳秒级.
不幸的是,只要我尝试foo在intellij目录中使用build.gradle,它就会写出foo.iml完全违反前述约定的内容.此外,它添加了另一个模块(没有询问)并且导致同一目录中的两个模块,并且ide不允许您更改任何一个模块,因为同一目录中的两个模块是错误.
任何人都可以告诉我如何影响Intellij使用gradle时为iml文件写的文件名?显然有单独的目录名称不会这样做,除非我非常详细地使用符号链接和ant.symlinks任务,如果有人试图在Windows上本地运行它,这将无法工作.
编辑:由于人们似乎习惯于删除他们未被接受的答案,让我澄清一下.我知道eclipse插件的gradle想法.我不是要求IDE不可知论指南.我发现IDE设置中有一些有价值的东西,并希望使用相同的IDE(其中"相同"包括版本,不期望交叉版本共享,但一次只有多个版本)共享它们.
更具体地说,我正在寻找其中一个:
EDIT2:涉及gradle生成文件的解决方案不起作用.Intellij 13 更改文件名以匹配目录名而不是模块名,这是问题的结果.我需要一个解决方案,说服Intellij不要这样做.在升级到13之前我没有遇到任何问题.
我们有一个小团队使用IntelliJ IDEA作为Java IDE并使用git管理我们的源代码.IDEA项目是基于目录的格式创建的.我发现下面的一些文件.idea与用户有关.
是否有可以过滤的用户相关文件的完整列表.gitignore?