Git 从.idea文件夹中忽略什么?
可能重复:Git 从.idea文件夹中忽略什么?,git,intellij-idea,gitignore,webstorm,Git,Intellij Idea,Gitignore,Webstorm,可能重复: 我开始使用WebStorm进行web开发,但不确定要添加什么以及从Git存储库中排除什么。显然,.idea文件夹中的一些文件与外部库设置(jsLibraryMappings.xml)一样是要进行版本控制的,但其他文件可能会经常更改,并且是特定于开发人员的(例如,workspace.xml) WebStorm/IntelliJ IDEA推荐的.gitignore模式是什么 注意:关于这一点已经有问题,但通常只关注是否包括整个.idea文件夹,或者是否完全排除它。我认为.idea文件夹
我开始使用WebStorm进行web开发,但不确定要添加什么以及从Git存储库中排除什么。显然,
.idea
文件夹中的一些文件与外部库设置(jsLibraryMappings.xml
)一样是要进行版本控制的,但其他文件可能会经常更改,并且是特定于开发人员的(例如,workspace.xml
)
WebStorm/IntelliJ IDEA推荐的.gitignore
模式是什么
注意:关于这一点已经有问题,但通常只关注是否包括整个.idea
文件夹,或者是否完全排除它。我认为.idea
文件夹中的一些文件应该进行版本控制,而其他文件则不应该进行版本控制,我正在尝试找出哪些文件。应该可以回答您的问题
因此,在您的
.gitignore
中,您可能会忽略以.iws
结尾的文件,以及workspace.xml
和tasks.xml
文件。我只想介绍一个最近的替代方案。有一个在线工具可以根据您可能使用的操作系统、IDE和编程语言生成.gitignore
文件
编辑免责声明:不要复制此文件,而是复制网站生成的文件,他们在保持更新方面做得很好。这只是一个例子 为
IntelliJ
生成的文件包含以下内容
# Created by https://www.gitignore.io/api/intellij
### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff:
.idea/workspace.xml
.idea/tasks.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
# Sensitive or high-churn files:
.idea/dataSources.ids
.idea/dataSources.xml
.idea/dataSources.local.xml
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
# Gradle:
.idea/gradle.xml
.idea/libraries
# Mongo Explorer plugin:
.idea/mongoSettings.xml
## File-based project format:
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
### Intellij Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
# *.iml
# modules.xml
您只需将
.idea/*
添加到.gitignore
文件中,即可忽略所有内容。
创建人
- 删除.idea文件夹
$rm -R .idea/
- 添加规则
$echo ".idea/*" >> .gitignore
- gitignore文件
$git commit -am "remove .idea"
- 下次提交就可以了
- 几年来,我一直支持为IntelliJ with使用特定的
.gitignore
不再是了。
IntelliJ更新非常频繁,内部配置文件规格的更改比我希望的要频繁,JetBrains旗舰擅长基于maven/gradle/etc构建文件自动配置自身
因此,我的建议是将所有编辑器配置文件从project中删除,并让用户根据自己的喜好配置编辑器。像代码样式这样的东西可以而且应该在构建级别进行配置;说直接在Maven/Gradle/sbt/etc上使用或
这确保了一致性,并将编辑器文件从源代码中删除,在我个人看来,这是它们应该存在的地方。Github在其程序中使用了以下.gitignore
虽然维护适当的
.gitignore
文件很有帮助,但我发现这种替代方法更干净、更易于使用
- 创建虚拟文件夹
,并在该文件夹内克隆my_real_project实际的项目repomy_project
- 现在,在IDE(Intellij/Pycharm)中打开项目时,打开文件夹
,并将my_project
标记为VCS根目录李>my_project/my_real_project
- 你可以看到
不会污染你的git-repo,因为它快乐地生活在你想要的git-repo之外。这样,您的my_project/。idea
文件也会保持干净李>.gitignore
.gitignore
文件保持干净,我们不必插入与JetBrains产品相关的行,该文件最好用于二进制文件、库和autogen内容
2-Intellij不断更新他们的项目和中的文件。idea
不断更改JB的每个重要版本。这意味着我们必须不断地更新我们的.gitignore
,这不是一种理想的时间利用方式
3-Intellij在这里有缺陷的模式,大多数编辑器包括Atom、VS代码、Eclipse。。。没有人将IDE内容存储在项目根目录中。JB也不应该是例外。Jetbrains有责任在project root之外跟踪这些文件。他们必须避免污染风投。这种方法正是如此。.idea
文件夹保存在项目根目录之外
希望这有帮助 在我的例子中,
/**/.idea/*
运行良好我认为,将IDE文件放入版本控制系统是个坏主意。您的项目将更多地绑定到特定的IDE,您可能会给其他IDE的用户带来问题。我在VCS中有几个带有IDE文件的项目,我面临着复杂的问题。现在我在VCS中只有maven文件和IDEA生成项目文件,一切都很好。@chalimartines我更喜欢将构建所需的一切都放在存储库中。由于我们不使用Maven,也不使用单一IDE,因此在VCS中没有.idea
文件将是一个复杂的问题。文档的可能副本建议“共享所有.iml模块文件”,因此,带有以下两行的.gitignore应该可以:.idea/workspace.xml.idea/tasks.xml正确的语法似乎是*/.idea/workspace.xml*/.idea/tasks.xml
更好的语法是**/.idea/workspace.xml**/.idea/tasks.xml
为什么**/
比*/
更好,**在所有子文件夹中循环,因此满足条件的文件也会在子文件夹中被忽略。“默认情况下,它们建议您忽略.idea/
中的所有内容”-不再如此。当前生成的.gitignore没有.idea/
条目。为什么要完全忽略.idea/词典?@Rhymoid我不知道具体原因,因为我不是提出.gitignore
的人。我只是在展示做这件事的工具。我猜这是个人档案。您可以在字典中添加可能对其他人无效的内容。特别是在清理LINT消息时。我相信
$git commit -am "remove .idea"
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser