1. 程式人生 > >Android Studio專案應該提交哪些檔案到GitHub上

Android Studio專案應該提交哪些檔案到GitHub上

當我們上傳用AS寫的Android程式碼時,上傳沒必要的程式碼不僅浪費空間,有時還會引起專案共同合作人員在提交程式碼時的衝突,那麼究竟什麼程式碼該上傳,什麼程式碼不該上傳呢?

查閱相關資料:

找了一些資料後,每個給出的答案都不一樣,我把上面的答案總結後融合了一下新增到平常在在本地練習的 .gitignore 檔案中,並上傳到Github上然後down下來重新匯入,發現匯入沒有任何異常,執行順利.

融合後的 .gitignore :

# IntelliJ IDEA
.idea
*.iml
*.ipr
*.iws

# Gradle
.gradle
gradlew.bat
build

# Local configuration file (sdk path, etc)
local.properties reports /captures jacoco.exec # Mac system files .DS_Store # Built application files *.apk *.ap_ # Android Studio captures folder /captures # Log Files *.log # Android Studio Navigation editor temp files .navigation/ # files for the dex VM *.dex # Java class files *.class # generated files
bin/ gen/ out lib # Eclipse project files .classpath .project .settings/ eclipsebin .metadata/ # Proguard folder generated by Eclipse proguard/ #NDK obj/ jniLibs

上傳到GitHub後的專案預覽:

test-gitignore

不需要額外的配置即可匯入執行,那麼這個融合的了 .gitignore 就是可行的.

回過頭再來看Android Studio中的 .gitignore,發現有綠色的程式碼,也有灰色的程式碼,當把滑鼠移過去也會有不一樣的提示.

test-gitignore-covered

有這種提示的就是檔案已經包含在其他的資料夾中,可以刪除這些檔案.

test-gitignore-never-used

有這種提示的就是工程中不包含這種檔案,沒必要申明在 *.gitignore*檔案中,也可刪除.

那麼我們刪除了上述這種檔案後, *.gitignore*馬上就變得清爽起來.

# IntelliJ IDEA
.idea
*.iml

# Gradle
.gradle
build

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

# Mac system files
.DS_Store

為了科學嚴謹性,再次上傳包含這份 .gitignore 的程式碼到GitHub中,結構跟上面的圖顯示是一樣的.

再次down下來匯入AS,執行依舊順利.

總結:

  • 我們當然可以把融合後比較多的程式碼模板複製到自己的 *.gitignore*檔案中,這樣會容錯率高,有助於防止多傳一些沒必要的東西.

  • 也可以根據自己程式碼的實際情況根據提示,決定究竟該上傳些什麼程式碼,但應該大於等於上面最後這段程式碼.(如專案中用到了NDK,就可以加上/obj)

  • 總之就是提供給大家一種思路,才疏學淺,還請大家多多提意見給我.

  • 最後,祝好:)