Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 从.idea文件夹中忽略什么?_Git_Intellij Idea_Gitignore_Webstorm - Fatal编程技术网

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_project
        ,并在该文件夹内克隆my_real_project实际的项目repo
      • 现在,在IDE(Intellij/Pycharm)中打开项目时,打开文件夹
        my_project
        ,并将
        my_project/my_real_project
        标记为VCS根目录
      • 你可以看到
        my_project/。idea
        不会污染你的git-repo,因为它快乐地生活在你想要的git-repo之外。这样,您的
        .gitignore
        文件也会保持干净
      由于以下原因,这种方法效果更好

      1-
      .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