web-dev-qa-db-ja.com

GITから.imlファイルを完全に削除する

Android Studioによって生成された.imlファイルに問題があります。Gradleの同期では、ファイルが再生成されるため、何も変更されていなくてもコミットを実行する必要があります。これらのファイルは追跡されません。

以下のことを試しました。

  • プロジェクトの*.imlファイルと各モジュールの.gitignore.gitignoreを追加しました。 *.iml**/*.imlの両方を試しました
  • ステージングされたファイルのリストに表示されるときにgit rm --cached app/app.imlを使用しました。これを実行してコミットした後でも、後で再びステージングされたように見えます。
  • 提案通り here バージョン管理下の設定の無視されたファイルに追加しました
22
StuStirling

あなたは正しいステップを持っていますが、それらを整理する必要があります

  1. git rm --cached <all_your_iml_files>を使用して、それらすべてをリモートリポジトリから削除します。

    あるいは、*.imlのようなすべてのgit ls-files | grep "\.iml$" | xargs git rm --cachedファイルを削除する簡単なコマンドを実行できます

  2. git commit -m "msg"を使用してその変更をコミットすると、すべての*.imlファイルが追跡されていないファイルとして表示されます。

  3. 。gitignoreファイルに*.imlを追加し、別のコミットまたは以前の同じコミットでコミットします。
34
Ahmed Hegazy

プロジェクトディレクトリにcdし、gitチェックアウトしてマスターブランチをプルする

cd /home/your_user/project_directory
git checkout master
git pull Origin master

.gitignoreファイルを編集して挿入*.iml

git rm --cached **/*.iml
git commit -a -m "rm all *.iml, update .gitignore"
git Push Origin master

私はIdea Javaを使用して別のmaven&IDE gitプロジェクトで作業しており、多くの子ディレクトリに* .imlを追加しているようです。

Glob構文**/*.imlは、現在の作業ディレクトリ内のすべてのディレクトリにあるすべてのimlファイルをカバーします。

3
James T.