Как остановить Egit при добавлении дополнительных исходных папок в Flash Builder
Я использую Flash Builder 4.6 (Eclipse 3.7) и Git (плагин eGit).
В моем проекте есть несколько дополнительных исходных папок, настроенных в "Build Path > Source path". Когда я запускаю коммит, по какой-то причине eGit видит эти внешние файлы и хочет добавить и зафиксировать их с помощью следующих путей:
[source path] fruit/com/company/Apple.as
[source path] fruit/com/company/Banana.as
Очевидно, что вне проекта они вообще не должны рассматриваться eGit; тем не менее я пробовал различные шаблоны в моем.gitignore, чтобы игнорировать их, но ничего не получалось:
fruit
[source*
[source path] fruit/com/company/Apple.as
\[*
Используя msysgit, команда git commit -a --dry-run
не пытается зафиксировать эти файлы, так что, похоже, дело в eGit / Flash Builder.
Как я могу игнорировать эти файлы?
2 ответа
Первым шагом является обеспечение того, чтобы при игнорировании каталога путь игнорируемого каталога заканчивался /
в вашем .gitignore
:
fruit/
Это будет игнорировать fruit
каталог в каталоге .gitignore
(поэтому убедитесь, что место сказал .gitignore
в нужном месте)
Тем не менее, в отношении связанной папки (что к чему fruit
есть, как упоминает Fletch в комментарии), .gitignore
не будет работать
Связанная папка должна игнорироваться по умолчанию EGit: см. Ошибку 333338.
Патчи написаны, но еще не интегрированы в последнюю версию EGit.
Обновление: Начиная с EGit 2.3 (февраль 2013 г.), связанные папки теперь игнорируются в Egit.
Вот решение, которое мы можем использовать, пока не установим последнюю версию EGit в Flash Builder 4.6+ (в настоящее время существует проблема с зависимостями). Допустим (как предполагается), что у вас есть связанный ресурс, определенный таким образом:
[source path] fruit/com/company/Banana.as
Вы можете вручную добавить все файлы и папки, расположенные в [source path] fruit
к .gitignore
файл с помощью *
или же **
подстановочные знаки:
**/com/company/Banana.as
Так как **
Подстановочный знак соответствует любому уровню каталогов, вы должны быть уверены, что пути и / или имена файлов являются уникальными и не могут быть найдены в другом месте в проекте. Но, поскольку вы используете соглашение об именовании обратного DNS, это решение может быть всем, что вам нужно.