2016-03-02 182 views
12

我遇到Android Studio生成的.iml文件問題。在Gradle同步中,它們被重新生成,這意味着即使沒有任何變化,我也必須進行提交。我只是想讓這些文件沒有跟蹤。從GIT中刪除.iml文件好

我曾嘗試以下的東西。

  • 新增*.iml到我的項目的.gitignore文件,以及每個模塊的.gitignore。我曾經嘗試都*.iml**/*.iml
  • 使用git rm --cached app/app.iml,當他們出現在上演的文件列表。即使做了這件事情並做出承諾,他們以後也會再次上演。
  • 作爲建議here我把它添加到設置被忽略的文件版本控制下
+0

/*/build/app.iml,* .iml,*。IML。試圖添加到.gitingnore文件? – HourGlass

回答

18

你有正確的步驟,但你需要組織他們

  1. git rm --cached <all_your_iml_files>從它們全部刪除 遠程倉庫

    或者你可以做一個簡單的命令來刪除像 所有*.iml文件

  2. 提交使用git commit -m "msg",之後,就可以看到你所有的*.iml文件作爲未跟蹤文件的變化。

  3. *.iml添加到您的.gitignore文件並在單獨的提交中或在同一個提交中提交它。
+2

我已經完成了多次。事實上,每當他們重新出現時我都會這樣做,但他們總是重新上演 – StuStirling

+0

我剛剛在終端上試過這些步驟,他們正在努力。問題IDE是否相關? –

+0

我相信它的時候'gradle'運行同步,它的再生'.iml'文件,並在GIT階段他們不管我已經採取措施來防止它 – StuStirling

0

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 

我使用理念IDE上的另一個行家& Java的Git項目工作它似乎在許多子目錄中添加* .iml。

水珠語法**/*.iml將覆蓋當前工作目錄內的所有目錄中的所有文件IML。