web-dev-qa-db-ja.com

.idea / workspace.xmlを無視できない - ポップアップし続ける

PHPStormを使って、私はgit commitを行おうとするたびに現れるworkspace.xmlを無視しようとしています。

私の.gitignoreは次のようになります。

/.idea/
.idea/workspace.xml

ある時点でファイルがコミットされたので、私も実行しました:

git rm --cached .idea/workspace.xmlそして削除をコミットし、素のリポジトリにプッシュしました。

しかし、プロジェクトに変更を加えると、ファイルは後でポップアップし続けます。

私が欠けているものについて何かアイデアはありますか?

193
Valentin Despa

そうしなければならなかった:

  • gitからファイルを削除する
  • コミットをすべてのリモートにプッシュする
  • 他のすべてのコミッターがリモートから更新されたことを確認してください

コマンド

git rm -f .idea/workspace.xml
git remote | xargs -L1 git Push --all

他のコミッターも動くはずです

git pull
22
Valentin Despa

私は同じ問題に直面していました、そしてそれは私を壁に駆り立てました。問題は、以前は.ideaフォルダがすでにリポジトリにコミットされていたため、無視したかどうかにかかわらず、gitによって追跡されていたことです。 RubyMine/IntelliJを閉じた後、あるいはあなたが使っているIDEの後には、以下のことをお勧めします。

mv .idea ../.idea_backup
rm .idea # in case you forgot to close your IDE
git rm -r .idea 
git commit -m "Remove .idea from repo"
mv ../.idea_backup .idea

その後、あなたの.gitignoreで.ideaを無視するようにしてください

リポジトリの.gitignoreで無視すれば十分ですが、IDEのドットファイルをグローバルに無視することをお勧めします。

それ以外の場合は、作業するすべてのプロジェクトのすべての.gitgnoreに追加する必要があります。また、あなたが他の人々と協力するならば、そのベストプラクティスはプロジェクトのソースコードに特定ではない私的な設定でプロジェクトの.gitignoreを汚染しないことです。

246
amerdidit

私は今この問題を抱えていた、私はgit rm -f .idea/workspace.xmlをしなければならなかった、今ではなくなっているようだ(.gitignoreにも入れなければならなかった)

71
arcanine

ファイルが表示されているのと同じディレクトリに、次のように入力します。

  • rm .idea/workspace.xml
  • git rm -f .idea/workspace.xml (as suggested by chris vdp)
  • vi .gitignore
  • i (編集するために).idea/workspace.xmlをいずれかの行に追加します。 Esc:wq

あなたは今良いはずです

24
Melski

Gitリポジトリに複数のプロジェクトがある場合、.idea/workspace.xmlはどのファイルとも一致しません。

代わりに、次の操作を行います。

$ git rm -f **/.idea/workspace.xml

そしてあなたの.gitignoreをこんな感じにしてください:

# 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

## File-based project format:
*.iws

# IntelliJ
/out/
5
kerner1000

IDE設定に影響を与えずにgitから.idea/を完全に削除するには、次のようにします。

git rm -r --cached '.idea/'
echo .idea >> .gitignore
git commit -am "removed .idea/ directory"
2
Johnny Willer

gitに、何が変わっても変更されないと仮定しないように言うだけです。

git update-index --assume-unchanged src/file/to/ignore

はい、gitリポジトリからファイルを削除することができます。しかし、あなたのチームがすべて同じIDEを使用しているか、あなたが自分でいるのであれば、おそらくそうしたくないでしょう。あなた自身のために、あなたはチームメイトのためにも、仕事を再開するための良い出発点を持ちたいです。

2
Toskan

私の場合、最初のプロジェクトのコミットを実行していたので、単に.git.ideaフォルダを削除してからgit initを使用してgitを再初期化することで問題を解決することができました。今、私は.ideaをまったく持っていません。

0
Eduard

私にとってPHPStormと同じ問題

最後に、私は次のことを解決しました:

  • 。idea /ディレクトリを削除します
  • 。gitignoreを同じレベルに移動すると、新しく生成されます。idea /
  • 無視する必要があるファイルを作成し、。idea /も書きます。確実に無視されるように、以下を追加しました。

    • 。アイディア/
    • 。アイディア
    • 。アイディア/*

なぜこのように機能するのかはわかりませんが、このディレクトリを無視するには。gitignoreと同じレベルの。ideaである必要があります。

0
iDon'tKnoware

IntelliJもベースにしているAndroid Studioでのやり方はこんな感じでした。コミットダイアログで、workspace.xmlの変更を元に戻した後、バージョン管理外のファイルに移動しました。その後、これをコミットダイアログから削除しました。今はチェンジリストには表示されません。私のgitignoreはすでに.idea/workspace.xmlを含んでいたことに注意してください

0
PK Gupta