PHPStormを使って、私はgit commitを行おうとするたびに現れるworkspace.xml
を無視しようとしています。
私の.gitignore
は次のようになります。
/.idea/
.idea/workspace.xml
ある時点でファイルがコミットされたので、私も実行しました:
git rm --cached .idea/workspace.xml
そして削除をコミットし、素のリポジトリにプッシュしました。
しかし、プロジェクトに変更を加えると、ファイルは後でポップアップし続けます。
私が欠けているものについて何かアイデアはありますか?
そうしなければならなかった:
コマンド
git rm -f .idea/workspace.xml
git remote | xargs -L1 git Push --all
他のコミッターも動くはずです
git pull
私は同じ問題に直面していました、そしてそれは私を壁に駆り立てました。問題は、以前は.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を汚染しないことです。
私は今この問題を抱えていた、私はgit rm -f .idea/workspace.xml
をしなければならなかった、今ではなくなっているようだ(.gitignore
にも入れなければならなかった)
ファイルが表示されているのと同じディレクトリに、次のように入力します。
rm .idea/workspace.xml
git rm -f .idea/workspace.xml (as suggested by chris vdp)
vi .gitignore
.idea/workspace.xml
をいずれかの行に追加します。 Esc、:wq
あなたは今良いはずです
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/
IDE設定に影響を与えずにgitから.idea/
を完全に削除するには、次のようにします。
git rm -r --cached '.idea/'
echo .idea >> .gitignore
git commit -am "removed .idea/ directory"
gitに、何が変わっても変更されないと仮定しないように言うだけです。
git update-index --assume-unchanged src/file/to/ignore
はい、gitリポジトリからファイルを削除することができます。しかし、あなたのチームがすべて同じIDEを使用しているか、あなたが自分でいるのであれば、おそらくそうしたくないでしょう。あなた自身のために、あなたはチームメイトのためにも、仕事を再開するための良い出発点を持ちたいです。
私の場合、最初のプロジェクトのコミットを実行していたので、単に.git
と.idea
フォルダを削除してからgit init
を使用してgitを再初期化することで問題を解決することができました。今、私は.idea
をまったく持っていません。
私にとってPHPStormと同じ問題
最後に、私は次のことを解決しました:
無視する必要があるファイルを作成し、。idea /も書きます。確実に無視されるように、以下を追加しました。
なぜこのように機能するのかはわかりませんが、このディレクトリを無視するには。gitignoreと同じレベルの。ideaである必要があります。
IntelliJもベースにしているAndroid Studioでのやり方はこんな感じでした。コミットダイアログで、workspace.xmlの変更を元に戻した後、バージョン管理外のファイルに移動しました。その後、これをコミットダイアログから削除しました。今はチェンジリストには表示されません。私のgitignoreはすでに.idea/workspace.xmlを含んでいたことに注意してください