ماذا يجب أن يكون في.gitignore الخاص بي لمشروع Android Studio؟
android-studio (20)
ما الملفات التي يجب أن تكون في .gitignore
الخاص بي لمشروع Android Studio؟
لقد رأيت العديد من الأمثلة التي تتضمن كافة .iml
ولكن تقول مستندات .iml
أنه يجب تضمين .iml
في التحكم بالمصادر.
أساسا أي ملف يتم تجديده تلقائيا.
اختبار جيد هو استنساخ الريبو الخاص بك ومعرفة ما إذا كان Android Studio قادرًا على تفسير وتشغيل مشروعك على الفور (توليد ما هو مفقود).
إن لم يكن ، ابحث عن ما هو مفقود ، وتأكد من أنه لم يتم تجاهله ، ولكنه أضاف إلى الريبو.
ومع ذلك ، يمكنك أخذ مثال على ملفات .gitignore
الموجودة ، مثل Android .
# built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Local configuration file (sdk path, etc)
local.properties
# Eclipse project files
.classpath
.project
# Proguard folder generated by Eclipse
proguard/
# Intellij project files
*.iml
*.ipr
*.iws
.idea/
أعلم أن هذا موضوع قديم وهناك بالتأكيد الكثير من الخيارات ، لكنني أفضل حقاً gibo
قبل سيمون ويتاكر. انها سهلة الاستخدام ، عبر منصة (ماك ، * لا شىء ، والنوافذ) ، ويستخدم ريبو github.com/github/gitignore لذلك (أساسا) دائما حتى الآن.
تأكد من تحديث ذاكرة التخزين المؤقت المحلية:
$ gibo --upgrade
From https://github.com/github/gitignore
* branch master -> FETCH_HEAD
Current branch master is up to date.
ابحث عن اللغة / التقنية التي تحتاجها:
$ gibo --search android
Android
عرض ملف .gitignore:
$ gibo Android
### Android
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
الآن ، إلحاقه بملف .gitignore للمشروع الخاص بك:
$ gibo Android >> .gitignore
(تأكد من أنك تستخدم >>
لإلحاق ملف .gitignore الخاص بمشروعك ؛ وسيقوم أحد >
بالكتابة فوقه - كما فعلت مرات عديدة في حادث!)
أعلم أن هذا لا يجيب على سؤال OP بالضبط ، ولكن باستخدام gibo يجعلك ذلك إلى حد كبير لا يجب عليك التفكير في "السؤال" بعد الآن! .. جميل! ؛)
أنا استخدم هذا .gitignore. لقد وجدت في: http://th4t.net/android-studio-gitignore.html
*.iml
*.iws
*.ipr
.idea/
.gradle/
local.properties
*/build/
*~
*.swp
أنا دمج ملفات Gitub .gitignore
### Github Android.gitignore ###
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
### Github JetBrains.gitignore ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml
## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:
# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries
# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml
# Gradle:
# .idea/gradle.xml
# .idea/libraries
# Mongo Explorer plugin:
# .idea/mongoSettings.xml
## File-based project format:
*.ipr
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
Please read: JetBrains Support: How to manage projects under Version Control Systems
أنا لا أتفق مع كل هذه الإجابات. تعمل التهيئة التالية بشكل رائع لتطبيق مؤسستنا.
أتجاهل:
-
/build
-
/.idea
(مع وجود استثناءات محتملة ، راجع التعليقات في إجابة dalewking ) -
*.iml
-
local.properties
أعتقد أن الجميع يتفقون تقريبا على /build
.
لقد سئمت من رؤية الرسائل باستمرار حول ملفات library.xml
المختلفة التي يقوم Gradle بإنشاءها أو حذفها في /.idea
. سيتم تشغيل build.gradle
على المطورين المحليين عندما يقومون أولاً بمراجعة المشروع ، فلماذا تحتاج ملفات XML إلى إصدار؟ سيعمل Android Studio أيضًا على إنشاء ما تبقى من /.idea
عندما ينشئ مطور مشروعًا باستخدام Check out from Version Control
، فلماذا إذن يلزم إجراء أي Check out from Version Control
في هذا المجلد؟
إذا *.iml
نسخة *.iml
على المستخدم الجديد تسمية المشروع تمامًا كما كان عند الالتزام به. بما أن هذا أيضًا ملف تم إنشاؤه ، فلماذا نسخته في المقام الأول؟
local.properties
ملفات local.properties
إلى مسار مطلق على نظام الملفات لحزمة SDK ، لذلك لا ينبغي بالتأكيد إصدارها.
تعديل 1 : تمت إضافة .gradle
لتجاهل ذاكرة التخزين المؤقت التي لا ينبغي إصدارها (شكرًا فاسيلي ماكاروف ).
تعديل 2 : تمت إضافة .DS_Store
الآن لأنني أستخدم Mac. هذا المجلد خاص بجهاز Mac ولا يجب إصداره.
ملاحظة إضافية : ربما تريد أيضًا إضافة دليل لوضع مفاتيح التوقيع الخاصة بك عند إنشاء نسخة إصدار.
للحصول على راحة النسخ / الملصق :
.gradle
/build
/.idea
*.iml
local.properties
.DS_Store
إنها أفضل طريقة لتوليد .gitignore عبر هنا: http://www.gitignore.io/
بدءًا من Android Studio 0.8.4 ، يتم إنشاء ملف gitignore تلقائيًا عند بدء مشروع جديد. بشكل افتراضي يحتوي على:
.gradle
/local.properties
/.idea/workspace.xml
/.idea/libraries
.DS_Store
build/
/captures
أوافق على هذا البيان ، ومع ذلك أقوم بتعديل هذا الملف لتغيير / بناء لبناء / (وهذا يشمل / build و / app / build) لذلك لا ينتهي بي الأمر مع جميع الملفات الموجودة في التطبيق / البنية في مستودع التخزين الخاص بي.
لاحظ أيضًا أنه إذا قمت باستيراد مشروع من Eclipse ، فلن يتم نسخ .gitignore ، أو "automagically" تم إنشاؤه من أجلك.
بناء على بلدي الروبوت العادي .gitignore ، وبعد قراءة الوثائق على موقع Intellij IDEA وقراءة المشاركات على ، لقد قمت بإنشاء الملف التالي:
# built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# built native files (uncomment if you build your own)
# *.o
# *.so
# generated files
bin/
gen/
# Ignore gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Eclipse Metadata
.metadata/
# Mac OS X clutter
*.DS_Store
# Windows clutter
Thumbs.db
# Intellij IDEA (see https://intellij-support.jetbrains.com/entries/23393067)
.idea/workspace.xml
.idea/tasks.xml
.idea/datasources.xml
.idea/dataSources.ids
لاحظ أيضًا أنه كما هو موضح ، فإن قسم الملفات المدمجة المدمج مفيد في المقام الأول عندما تقوم ببناء كودك الأصلي الخاص بك مع Android NDK. على الجانب الآخر ، إذا كنت تستخدم مكتبة طرف ثالث تتضمن هذه الملفات ، فقد ترغب في إزالة هذه السطور (* .o و * .so) من .gitignore الخاص بك.
في حالة Android Studio ، فإن الملفات الوحيدة التي يجب حفظها في التحكم في الإصدار هي الملفات المطلوبة لإنشاء التطبيق من سطر الأوامر باستخدام gradle. بحيث يمكنك تجاهل:
- * .iml
- .فكرة
- بناء
ومع ذلك ، إذا قمت بحفظ أي إعدادات IDE ، مثل إعدادات نمط التعليمات البرمجية المخصصة ، يتم حفظها في مجلد .idea. إذا كنت تريد هذه التغييرات في التحكم في الإصدار ، فستحفظ ملفات IDEA أيضًا (* .iml و .idea).
لا توجد حاجة لإضافة عنصر التحكم المصدر إلى أي مما يلي:
.idea/
.gradle/
*.iml
build/
local.properties
لذلك يمكنك تكوين hgignore أو gitignore وفقا لذلك.
في المرة الأولى التي يتمكن مطور البرامج من استبعاد عنصر التحكم المصدر ، يمكن أن:
- افتح Android Studio
- مشروع الاستيراد
- استعرض لـ build.gradle داخل مستودع المستنسخ وافتحه
هذا كل شئ
ملاحظة: سيحصل Android Studio بعد ذلك ، من خلال maven ، على المكون الإضافي الخاص ببرنامج التجميع على افتراض أن البنية build.gradle تشبه هذا:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'
}
}
allprojects {
repositories {
mavenCentral()
}
}
سيعمل استوديو Android على إنشاء محتوى المجلد .idea (بما في ذلك workspace.xml ، والذي لا ينبغي أن يكون في عنصر تحكم مصدر لأنه يتم إنشاؤه ) ومجلد.
هذه الطريقة صديقة للبيئة بطريقة Eclipse بالطريقة التي لا يعرف بها التحكم بالمصدر أي شيء عن Android Studio. يحتاج Android Studio فقط إلى build.gradle لاستيراد مشروع وتوليد الباقي.
لمشاريع Android Studio 3.0 ، استخدم ما يلي:
.gitignore
.gradle
.idea
*.iml
gradle.properties
local.properties
.DS_Store
build
مجلد المشروع Gradle
الشيء الوحيد الذي يجب أن يكون في مجلد مشروعك (Gradle) بعد استنساخ المستودعات هو هذا الهيكل (على الأقل بالنسبة لحالات الاستخدام التي واجهتها حتى الآن):
/app
/gradle
.gitignore
build.gradle
build.properties
gradlew
gradle.bat
settings.gradle
من الأفضل إضافة قائمة .gitignore خلال وقت التطوير لمنع التأثير الجانبي غير المعروف عندما لا يعمل التحكم في الإصدار لسبب ما بسبب قائمة (نسخ / لصق) محددة مسبقًا من مكان ما. بالنسبة لأحد مشروعاتي ، لا تشمل قائمة التجاهل إلا ما يلي:
.gradle
.idea
libs
obj
build
*.log
.gitignore from AndroidRate library
# Copyright 2017 - 2018 Vorlonsoft LLC
#
# Licensed under The MIT License (MIT)
# Built application files
*.ap_
*.apk
# Built library files
*.aar
*.jar
# Built native files
*.o
*.so
# Files for the Dalvik/Android Runtime (ART)
*.dex
*.odex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk/ndk path, etc)
local.properties
# Windows thumbnail cache
Thumbs.db
# macOS
.DS_Store/
# Log Files
*.log
# Android Studio
.navigation/
captures/
output.json
# NDK
.externalNativeBuild/
obj/
# IntelliJ
## User-specific stuff
.idea/**/tasks.xml
.idea/**/workspace.xml
.idea/dictionaries
## Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/dynamic.xml
.idea/**/sqlDataSources.xml
.idea/**/uiDesigner.xml
## Gradle
.idea/**/gradle.xml
.idea/**/libraries
## VCS
.idea/vcs.xml
## Module files
*.iml
## File-based project format
*.iws
github.com/github/gitignore is awesome collection
Android.gitignore
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
.idea/caches
# Keystore files
# Uncomment the following line if you do not want to check your keystore files in.
#*.jks
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# Google Services (e.g. APIs or Firebase)
google-services.json
# Freeline
freeline.py
freeline/
freeline_project_description.json
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
تحديث 7/2015:
هنا هو المصدر النهائي من JetBrains
تنسيق مشروع يستند إلى الدليل (دليل .idea)
يتم استخدام هذا التنسيق بواسطة كافة إصدارات IDE الحديثة بشكل افتراضي. إليك ما تحتاج إلى مشاركته:
- جميع الملفات تحت الدليل
.idea
في جذر المشروع باستثناء ملفاتworkspace.xml
وtasks.xml
التي تقوم بتخزين إعدادات محددة للمستخدم - كافة ملفات الوحدة النمطية
.iml
التي يمكن وضعها في دلائل الوحدة النمطية المختلفة (ينطبق على IntelliJ IDEA)
كن حذرًا بشأن مشاركة ما يلي:
- عناصر Android التي تنتج بنية موقعة (تحتوي على كلمات مرور تخزين المفاتيح)
- في IDEA 13
dataSources.ids
، يمكن أن يحتويdatasources.xml
على كلمات مرور قاعدة البيانات. IDEA 14 يحل هذه المشكلة .
قد تفكر في عدم مشاركة ما يلي:
- ملف gradle.xml ، راجع هذه المناقشة
- مجلد قواميس المستخدم (لتجنب التعارضات إذا كان للمطوِّر الآخر نفس الاسم)
- ملفات XML تحت
.idea/libraries
في حالة تم إنشاؤها من مشروع Gradle
تنسيق مشروع قديم ( .ipr
/ .iml
/ .iws
)
- مشاركة ملف
.ipr
للمشروع وجميع ملفات الوحدة النمطية.iml
، لا تشارك ملف..iws
لأنه يخزن إعدادات محددة للمستخدم
على الرغم من أن هذه الإرشادات مخصصة لـ IntelliJ IDEA ، إلا أنها تحمل 100٪ حقيقيًا في Android Studio.
في ما يلي مقتطف .gitignore
الذي يتضمن جميع القواعد الواردة أعلاه:
# Android Studio / IntelliJ IDEA
*.iws
.idea/libraries
.idea/tasks.xml
.idea/vcs.xml
.idea/workspace.xml
تم اختباره باستخدام Android Studio 3.0
قد تحتاج إلى تثبيت .ignore plugin.
يمكنك إنشاء ملف .gitignore تلقائيًا لنظام Android. انقر بزر الماوس الأيمن على مجلد واتبع
ثم حدد Android من اللوحة اليمنى وانقر على " إنشاء"
سيعمل Android Studio على إنشاء ملف .gitignore يحتوي على جميع الملفات التي يجب تجاهلها.
مأخوذة من http://menukanows.com/how-to-add-gitignore-file-in-android-project/
Compilation:
#built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
# generated files
bin/
gen/
# Gradle files
.gradle/
build/
/*/build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Windows thumbnail db
Thumbs.db
# OSX files
.DS_Store
# Eclipse project files
.classpath
.project
# Android Studio
*.iml
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/
# Intellij project files
*.iml
*.ipr
*.iws
.idea/
Github maintains useful gitignore items for various kinds of projects. Here is the list of useful gitignore items for android projects.
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/libraries
# Keystore files
*.jks
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# Google Services (e.g. APIs or Firebase)
google-services.json
# Freeline
freeline.py
freeline/
freeline_project_description.json
To circumvent the import of all files, where Android Studio ignores the "Ignored Files" list, but still leverage Android Studio VCS, I did the following: This will use the "Ignored Files" list from Android Studio (after import! not during) AND avoid having to use the cumbersome way Tortoise SVN sets the svn:ignore list.
- Use the Tortoise SVN repository browser to create a new project folder directly in the repository.
- Use Tortoise SVN to checkout the new folder over the top of the folder you want to import. You will get a warning that the local folder is not empty. Ignore the warning. Now you have a versioned top level folder with unversioned content.
- Open your project from the local working directory. VCS should now be enabled automatically
- Set your file exceptions in File -> Settings -> Version Control -> Ignored Files
- Add files to SVN from Android Studio: select 'App' in Project Structure -> VCS -> Add to VCS (this will add all files, except "Ignored Files")
- Commit Changes
Going forward, "Ignored Files" will be ignored and you can still manage VCS from Android Studio.
Cheers, -Joost
### Github Android.gitignore ###
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
### Github JetBrains.gitignore ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio
*.iml
## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:
# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries
# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml
# Gradle:
# .idea/gradle.xml
# .idea/libraries
# Mongo Explorer plugin:
# .idea/mongoSettings.xml
## File-based project format:
*.ipr
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties