Затьмарюйте Android та gitignore


188

Які файли / папки можна сміливо ігнорувати для включення з git?

Я скопіював хороший проект, видалив його папки gen та bin і спробував запустити додаток. У вікні запуску Android написано: "Ваш проект містить помилки, будь ласка, виправте їх перед запуском програми. На піктограмі зліва від проекту в Explorer Package є червоний значок X. Хоча папка gen не існує в Провідник Windows, це робиться в Package Explorer.


1
Зробіть «оновлення» проекту (клацніть правою кнопкою миші на проект / оновити) або через Меню> Проект> Очистити проект .. - це може допомогти вам позбутися від повідомлень про помилки в Eclipse. Іноді, на жаль, допомагає лише перезапуск Eclipse. Eclipse не дуже надійний, але хороший безкоштовний інструмент для початку. (Я вже перейшов на IntelliJ IDEA. Набагато краще, але не безкоштовний.)
Mathias Conradt

1
@Mathias Lin: Існує нове "громадське видання" IntelliJ IDEA, яке безкоштовне.
Грег Х'югілл

@Greg Hewgill: так, але спільнота не має вбудованої підтримки для Android.
Mathias Conradt

2
@MathiasLin intellij IDEA10: безкоштовна IDE для розробки Android | Блог JetBrains IntelliJ IDEA Я знаю, що минуло пару років, але я натрапив на цю статтю і помітив застарілу інформацію, тому подумав, що закину (тепер уже старі) новини. IntelliJ IDEA Community Edition тепер пропонує підтримку для розробки Android. Оголошення було опубліковано 19 жовтня 2010 р. Лише через кілька місяців після вашого коментаря.
DavidDraughn

@DavidDraughn Так, використовуючи IDEA вже 2 роки, можна також рекомендувати його.
Матіас Конрадт

Відповіді:


261

Є типи файлів, які потрібно ігнорувати

# 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/

Із Gitignore на github


17
Насправді це було оновлено на GitHub, воно також включає, серед іншого, те .project, що я тут не згоден і хочу отримати вашу думку. Сценарій: Я додав нові класи до свого проекту. Коли я витягнув з іншої машини, їх не було в проекті. Перевірте це: github.com/github/gitignore/blob/master/Global/…
Даніель

16
Я згоден з тобою @Daniel. Я вважаю , що це неправильно (як це було запропоновано в файлі .gitignore ви посилаєтеся в GitHub) , щоб виключити .project, .classpathі .settings. Це частина налаштування проекту, яку ви хотіли б зафіксувати в git.
mgd


33

Що я зазвичай додаю .gitignore:

bin
gen

binі genпостійно змінюються під час кодування, тому не потрібно включати їх у сховище Git. Крім того, іноді я додаю .classpathі .projectякі є конкретні файли Eclipse, тому що, можливо, я хочу створити новий проект Android на основі цих самих джерел, але в іншій ОС або IDE.

Що стосується помилки, я б очистив проект та / або спробував запустити утиліту Fix Project Properties (правою кнопкою миші на Project -> Tools Android -> Fix Properties Properties).


Як щодо власне виявлення та виправлення помилки? Чому прибирання проекту може зробити що-небудь, якщо він ще не складений?
Джастін Бусер


7

Можна без проблем ігнорувати бін та ген. Коли у мене виникають проблеми із налаштуванням проекту, я роблю це: По-перше - чи переглядали ви вкладку "Проблеми" у вікні під поданням редактора - це, як правило, дає більш детальну інформацію про помилки проекту. Якщо там немає нічого переконливого, я виконую нижче:

  1. Як правило, коли у мене виникають проблеми із Eclipse, що дає мені фантомні помилки в проекті, очищення проекту виправить це. Це в меню, у розділі Проект> Очистити.
  2. Якщо це не працює, я зазвичай спробую клацнути правою кнопкою миші проект, перейшовши до Інструменти Android> Виправити властивості проекту.
  3. В останню чергу вдалося перезапустити затемнення та видалити ген папку.

2

найкращим способом є використання цього веб-сайту для створення: http://www.gitignore.io/


Це просто повторює те, що сказано в попередній відповіді.

-28

Проста відповідь на це питання - *. *, В основному цілком безпечно ігнорувати все, що ви не хочете додати до контролю версій. Якщо говорити, це дійсно залежить від того, що ви хочете досягти, використовуючи Git. Якщо ви хочете мати можливість замовити / імпортувати свій проект в інше місце з того самого сховища, тоді ви хочете ігнорувати не більше / bin / . та / ген / ., Я б не ігнорував самі папки (тобто / bin, / gen) лише заради підтримки належної структури каталогів для вашого проекту.

Це відповідає на початкове запитання, але не пов'язане з проблемою, яка виникає. Що стосується вирішення проблеми, з якою ви стикаєтесь, вам доведеться розмістити більше інформації, зокрема, що вказано на вкладці Проблеми. Якщо ви ніде не бачите вкладки "Проблеми", тоді натисніть на меню "Вікно", а потім покажіть "Перегляд", а потім виберіть проблеми, якщо вони є, або натисніть на "Інші" та перегляньте розділ "Загальні", щоб знайти його.


3
Це абсолютно неправильно! Це призведе до того, що git ігнорує ВСІ ваші файли
контрольний список

1
@checklist Ви не читали питання? Або ви не зрозуміли мою думку? Він запитав "Які файли / папки я можу сміливо ігнорувати для включення з git?", Відповідь на які З них ВСЕ. Звідки ти знаєш, що він не хоче тимчасово ігнорувати все, поки він розробляє свою проблему побудови?
Джастін Бусер

1
@JustinBuser, що просто здається безглуздою, педантичною семантичною суперечкою. Я не думаю, що штучний контекст, який ви створили, не має жодного стосунку до питання, про який повідомлялося. Здається, ви навмисно неправильно трактуєте ОП.
Бакар
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.