web-dev-qa-db-ja.com

.ideaフォルダー内のどのファイルをGitで追跡する必要がありますか?

Netbeansとは異なり、Jetbrains IDEでは、ユーザーとチームに関連する設定ファイルは同じフォルダーに混在しているため、Gitにプッシュする必要がある場合は扱いにくいです。

これらのIDEには多くのサンプルgit ignoreファイルがあり、 https://intellij-support.jetbrains.com/hc/articles/206544839 gitサイトのページです。

ただし、それらを1か月間使用した後、逆の方が安全で、実際にはより便利であることがわかります。すべてを無視するという意味です.ideaファイルとチーム関連の設定のみを明示的に追加します。 (すべてを追加して一部を無視する代わりに)。

開発者間で共有できる主なものは、コードスタイルの構成です。したがって、IDE自動再フォーマットオプションを使用すると、すべてのチームが一貫したスタイルに従います。

それに加えて、問題は無視するのではなく、他のどのファイルを含めることを推奨するかということです。どうして?

答え:私はこれを思いついた: https://github.com/salarmehr/idea-gitignore

24
PHPst

いくつかの調査の後、次の.idea/.gitignoreファイル:

# ignore all .idea files ...
*
# except  ...

# Version Control configuration
!vcs.xml

# how IDEA should treat the text files
!encodings.xml

# automatic code formatting
!codeStyleSettings.xml

# project specific words
!dictionaries

!copyrights
!misc.xml
!sqldialects.xml

上記のファイルは、すべてのチームメンバーで実質的に同一である必要があります。

答え:私はこれを思いついた: https://github.com/salarmehr/idea-gitignore

7
PHPst

Jetbrainsには いくつかの公式ガイダンス どのファイルについてすべきではないチェックインし、どのファイルおそらくそうでない使用法に応じてチェックインしています。そのページによると、以下を除く.ideaディレクトリ内のすべてのファイルをチェックインする必要があります。

  • workspace.xml
  • tasks.xml

そしておそらくまた:

  • dictionaryサブディレクトリ内のxmlファイル

特定の答えはあなたのチームの特定の慣行に依存するかもしれませんが、私の経験では、そのガイダンスに従うと、一般的にユーザー設定と共有プロジェクト構成が正しく分離されます。

このガイダンスによるshouldが共有されるファイルの例:

  • ant.xml。Antを使用してプロジェクトをビルドする場合、IDEA=ビルドファイルをポイントし、ビルドに使用するプロパティを構成します。
  • vcs.xml。プロジェクトのバージョン管理構成を指定します
  • encodings.xmlは、IDEAがプロジェクト内のテキストファイルを処理する方法を指定します
  • modules.xmlは、IDEA=プロジェクトの各モジュール構成ファイルを指します。これらのファイルもVCSで共有する必要があります。
  • runConfigurationsサブディレクトリの下にあるすべてのファイル。これは、IDEAアプリケーションを実行するために必要なことを伝えます
  • codeStyleSettings.xml。これは、すでに述べたように、自動コードフォーマットに関してチーム全体を同じページに配置します。

チームの使用状況に応じて、多かれ少なかれありますが、それらは最大の例の一部です。

25
Matt Leidholm

.ideaフォルダーや.imlファイルをまったくチェックインしたくない。

  • エディタースタイルを共有する場合は、 .editorconfig ファイルの使用を検討してください。JetBrainsIDEはこれらをサポートするようになりました。
  • ビルド設定のような他のことについては、ビルドツールに頼ることができます。 mavenまたはgradleビルドファイルを使用して、特定のセットアップを実行します。
  • 明らかに、カバーされない他の事柄がたくさんありますが、それらのほとんどは、十分に文書化された規則によって解決できます。
2
ninj

すべての.ideaフォルダーを構成しないため、コミットしないことをお勧めします。 *.imlファイルと同様。

Intellijの代わりにNetbeansを使用する場合、これらの構成ファイルは必要ありません。それは役に立たず、おそらく衝突のために少し危険です。

2
YoannFleuryDev

IDEAとEclipseを使用しますが、Netbeansは使用しません。Ineverプロジェクトファイルをコミットしますが、Mavenビルドが主要ツールであることを確認してから、 Mavenプロジェクトを任意のIDEに簡単にインポートし、Mavenを変更するとMavenから更新されます。EclipseおよびIDEA.

私の。gitignoreファイルは、すべてのプロジェクトで次のようになります。

# Eclipse
.settings/
.classpath
.project

# IntelliJ IDEA
.idea/
*.iml

# Maven
target/

さらに、その他のプロジェクト固有のファイルまたはディレクトリ。

1
kriegaex