1. 程式人生 > >AndroidStudio建立gitignore忽略已經track的檔案

AndroidStudio建立gitignore忽略已經track的檔案

1. 問題

原本在新建工程時AS會自動生成.gitignore檔案,忽略掉不需要進行track的檔案,比如.idea資料夾、build資料夾等,但是我在一開始建立專案的時候沒有意識到要忽略檔案,把所有檔案都track了,此時如果只新增.gitignore就不會生效。
即gitignore只對未track的檔案生效,對已經track的檔案不生效。對於已經track的檔案,直接新增gitignore檔案是不夠的,還需要額外的操作。

2. 解決方案

按以下步驟解決:
【step1】 在專案的git bash執行以下命令

git rm -r --cache .

清除對所有檔案的追蹤,最後的點代表操作物件是所有檔案。

【step2】在專案根目錄下和App目錄下新增.gitignore檔案:
.gitignore的內容如下,這個檔案可以在github上下載,網上隨便一搜就能找到了。

#built application files
*.apk
*.ap_

# files for the dex VM
*.dex

# Java class files
*.class

# generated files
bin/
gen/
out/
build/

# Local configuration file (sdk path, etc)
local.properties

# Windows thumbnail db
Thumbs.db # OSX files .DS_Store # Eclipse project files .classpath .project # Android Studio *.iml .idea/ gradle/ # Local IDEA workspace # Gradle cache .gradle #NDK obj/

新增之後的檔案結構圖:
這裡寫圖片描述

建立專案的時候,可以在File->Settings->IgnoreFiles下面指定要忽略的檔案,可以自動生成.gitignore檔案,如果直接新增.gitignore檔案則不需要這一步。
這裡寫圖片描述

【step3】在git bash中執行

git add .

此時gitignore會生效,不會把那些需要忽略的檔案進行add進來。

【step4】在git bash中執行

git commit -m "add gitignore"

提交修改即可。