web-dev-qa-db-ja.com

Rubymineが作成した.ideaファイルをGitに無視させる方法

RailsプロジェクトにはRubymineを使用しています。非常に頻繁に、Rubymineは.idea/*ファイルに変更を加えますが、それは私が気にしないものです。しかし、それは私が新しいブランチをチェックアウトするのを妨げ続け、私のバージョンの.idea/を同僚とは異なるものにします。

.idea/.gitignoreに既に追加しましたが、.ideaの変更を追跡し続けます。これを正しい方法で行うにはどうすればよいですか?

以下は、私が受け取った典型的なエラーメッセージの1つです。

error: Your local changes to the following files would be overwritten by checkout:
    .idea/workspace.xml
151
AdamNYC

ちょうど.idea/は私のためにうまくいきます

212
the_joric

端末でgit rm -r --cached .ideaを試してください。変更の追跡を無効にします。

272
Petr Syrov

JetBrainsは、「IDEプロジェクトファイルを他の開発者と共有する場合...」、すべての.idea/*ファイルを追跡することを推奨していることに注意してください次の3つのファイルを除く

  • workspace.xml
  • usage.statistics.xml
  • tasks.xml

したがって、彼らのアドバイスに従うには、これら3つのファイルを.gitignoreに追加します。


出典:

IDEプロジェクトファイルを他の開発者と共有する場合は、次のガイドラインに従ってください。
...
共有する必要があるものは次のとおりです。

  • プロジェクトルートの.ideaディレクトリにあるすべてのファイルexceptworkspace.xmlsage.statistics.xml、およびtasks .xmlユーザー固有の設定を保存するファイル
  • ...

バージョン管理システムでプロジェクトを管理する方法アーカイブ

そのページには、異なる特定のjetbrains IDEおよびビルド用にgitignoreする他のファイルに関する追加のメモがあります。

37
Daryn

.idea/*を除外リストに追加して、すべての.ideaファイル、ディレクトリ、およびサブリソースの追跡を防止します。

26
Perception

ファイルが既にGitによって追跡されている場合、ファイルを.gitignoreに追加してもGitによる追跡は停止しません。最初に問題のファイルをgit rmしてから、.gitignoreに追加する必要があります。

.idea /を追加すると動作するはずです

22
appsmatics

あなたの端末でgit rm -r --cached .ideaを使用することは、私にとってはとてもうまくいきました。変更の追跡を無効にし、rubymineフォルダー(idea /)の下にあるいくつかのファイルの設定を解除してからgitに追加してコミットし、比較を削除して.idea/のgitignore設定を有効にします。

19
GMarx

ターミナルのPHP St​​ormを閉じて、プロジェクトフォルダータイプに移動します。

git rm -rf .idea; git commit -m "delete .idea"; git Push;

次に、プロジェクトフォルダーに移動し、フォルダー.ideaを削除します

Sudo rm -r .idea/

PhpStormを起動すると完了です

12
Gustavo Maimone

Rubymine guiには、無視リスト(設定/バージョン管理)があります。無効にしてみてください。彼らのサポートからヒントを得ました。

enter image description here

12
manavortex

.ideaを〜/ .gitignore_globalに追加し、こちらの手順に従って.gitignore_globalを機能させます:

Gitグローバル無視が機能しない

その後、個々の.gitignoreファイルに追加する必要はありません。

9
fosrias

これらのファイルを.gitignoreに追加しようとしましたが、役に立ちませんでした...

それでも、 Petr Syrov が言ったように、git rm -r --cached .ideaを端末に使用すれば、これらのファイルはもう問題になりません!

4
frisinacho

git man page を読んで、どのように作業を無視するかを完全に理解することをお勧めします。今後、私に感謝します;)

あなたの問題に関連:

Two consecutive asterisks ("**") in patterns matched against full pathname may have special meaning:

A leading "**" followed by a slash means match in all directories. For example, "**/foo" matches file or directory "foo" anywhere, the same     as pattern "foo". "**/foo/bar" matches file or directory "bar" anywhere that is directly under directory "foo".

A trailing "/**" matches everything inside. For example, "abc/**" matches all files inside directory "abc", relative to the location of the .    gitignore file, with infinite depth.

A slash followed by two consecutive asterisks then a slash matches zero or more directories. For example, "a/**/b" matches "a/b", "a/x/b",     "a/x/y/b" and so on.

Other consecutive asterisks are considered invalid.
4
Steve Benner

私にとっては、「。idea」で.gitignoreファイルをコミットし、IDEを再度使用するよりも.ideaフォルダーを削除するソリューションは1つしかありませんでした。

4
Ivan Petkevich

JetBrainsには.gitignore_globalGitHubで があります。

3
Jeff Wolski

高度なgitignoreファイル生成には gitignore を使用できます。高速で簡単、最先端のタグが自動的に生成されます。

ほとんどのジェットブレインソフトウェア(intelijphpstormにこのリンクを使用します。 。) jetbrains .gitignore file

[編集]

以下は、Jetbrains Software用に生成されたgitignoreファイルです。これにより、プロジェクトを管理するためにJetbrainsソフトウェアで使用される機密情報(パスワード、キーストア、dbパスワードなど)を共有できなくなります。

# Created by https://www.gitignore.io

### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm

*.iml

## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:

# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries

# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.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:
*.ipr
*.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

生成されたコードも十分にコメントされています。役に立てば幸いです:)

3
Williem

.idea/*はどうですか?テストしませんでしたが、テストする必要があります

2
ksol

Rubymineに切り替えたのはそれほど長くはありませんでしたが、Rubymineの.ideaファイルがgitにコミットされるのを無視するのは難しいことです。

これが私がそれを修正した方法です

ステージング/コミットをまったく行っていない場合、またはRuby鉱山で新しいプロジェクトを作成したばかりの場合は、これを行うだけです

オプション1

通常、リポジトリのルートに配置される.gitignoreファイルに次の行を追加します。

# Ignore .idea files
.idea/

これにより、すべての.ideaファイルはgitによる追跡から無視されますが、プロジェクトフォルダーにはローカルに残ります。

オプション2

ただし、ステージング/コミットを行った場合、または既存のプロジェクトをRuby鉱山で開いたばかりの場合は、単にこれを行います

ターミナル/コマンドラインでコードを実行します

git rm -r --cached .idea

これにより、gitで既に追跡されている.ideaファイルが削除されます

次に、通常リポジトリのルートに配置される.gitignoreファイルに.idea /を含めます。

# Ignore .idea files
.idea/

これにより、すべての.ideaファイルはgitによる追跡から無視されますが、プロジェクトフォルダーにはローカルに残ります。

オプション

ただし、ステージング/コミットを行った場合、またはRuby鉱山で既存のプロジェクトを開いたばかりで、ローカルおよびgitで.ideaファイルを完全に削除する場合は、単にこれを行います。

ターミナル/コマンドラインでコードを実行します

git rm -r --cached .idea

これにより、gitで既に追跡されている.ideaファイルが削除されます

ターミナル/コマンドラインでコードを実行します

rm -r .idea

これにより、フォルダーを含むすべての.ideaファイルがローカルで削除されます

次に、通常リポジトリのルートに配置される.gitignoreファイルに.idea /を含めます。

# Ignore .idea files
.idea/

これにより、すべての.ideaファイルがgitによる追跡から無視され、プロジェクトフォルダーからローカルに削除されます。

それで全部です

これが役立つことを願っています

1
Promise Preston

。ignoreプラグインを使用してください: https://plugins.jetbrains.com/plugin/7495--ignore

多数のパス/パターンを自動的に管理し、多くの便利な追加機能も備えています。以下と互換性があります。

  • IntelliJ IDEA
  • PhpStorm
  • WebStorm
  • パイチャーム
  • RubyMine
  • AppCode
  • クリオン
  • ゴーランド
  • DataGrip
  • ライダー
  • MPS
  • Android Studio
1
Mir-Ismaili