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
ちょうど.idea/
は私のためにうまくいきます
端末でgit rm -r --cached .idea
を試してください。変更の追跡を無効にします。
JetBrainsは、「IDEプロジェクトファイルを他の開発者と共有する場合...」、すべての.idea/*
ファイルを追跡することを推奨していることに注意してください次の3つのファイルを除く:
したがって、彼らのアドバイスに従うには、これら3つのファイルを.gitignoreに追加します。
出典:
IDEプロジェクトファイルを他の開発者と共有する場合は、次のガイドラインに従ってください。
...
共有する必要があるものは次のとおりです。
- プロジェクトルートの.ideaディレクトリにあるすべてのファイルexceptworkspace.xml、sage.statistics.xml、およびtasks .xmlユーザー固有の設定を保存するファイル
- ...
そのページには、異なる特定のjetbrains IDEおよびビルド用にgitignoreする他のファイルに関する追加のメモがあります。
.idea/*
を除外リストに追加して、すべての.ideaファイル、ディレクトリ、およびサブリソースの追跡を防止します。
ファイルが既にGitによって追跡されている場合、ファイルを.gitignoreに追加してもGitによる追跡は停止しません。最初に問題のファイルをgit rmしてから、.gitignoreに追加する必要があります。
.idea /を追加すると動作するはずです
あなたの端末でgit rm -r --cached .idea
を使用することは、私にとってはとてもうまくいきました。変更の追跡を無効にし、rubymineフォルダー(idea /)の下にあるいくつかのファイルの設定を解除してからgitに追加してコミットし、比較を削除して.idea/
のgitignore設定を有効にします。
ターミナルのPHP Stormを閉じて、プロジェクトフォルダータイプに移動します。
git rm -rf .idea; git commit -m "delete .idea"; git Push;
次に、プロジェクトフォルダーに移動し、フォルダー.ideaを削除します
Sudo rm -r .idea/
PhpStormを起動すると完了です
Rubymine guiには、無視リスト(設定/バージョン管理)があります。無効にしてみてください。彼らのサポートからヒントを得ました。
.ideaを〜/ .gitignore_globalに追加し、こちらの手順に従って.gitignore_globalを機能させます:
その後、個々の.gitignoreファイルに追加する必要はありません。
これらのファイルを.gitignore
に追加しようとしましたが、役に立ちませんでした...
それでも、 Petr Syrov が言ったように、git rm -r --cached .idea
を端末に使用すれば、これらのファイルはもう問題になりません!
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.
私にとっては、「。idea」で.gitignoreファイルをコミットし、IDEを再度使用するよりも.ideaフォルダーを削除するソリューションは1つしかありませんでした。
JetBrainsには.gitignore_global
GitHubで があります。
高度なgitignoreファイル生成には gitignore を使用できます。高速で簡単、最先端のタグが自動的に生成されます。
ほとんどのジェットブレインソフトウェア(intelij、phpstormにこのリンクを使用します。 。) 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
生成されたコードも十分にコメントされています。役に立てば幸いです:)
.idea/*
はどうですか?テストしませんでしたが、テストする必要があります
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による追跡から無視され、プロジェクトフォルダーからローカルに削除されます。
それで全部です
これが役立つことを願っています
。ignoreプラグインを使用してください: https://plugins.jetbrains.com/plugin/7495--ignore
多数のパス/パターンを自動的に管理し、多くの便利な追加機能も備えています。以下と互換性があります。