Метаданные и рабочая область
Я бы никогда не поделился папкой .metadata
. На самом деле, если у вас нет особой причины, я бы даже не поделился папкой рабочей области, а вместо этого поделился каждым проектом отдельно с git. Таким образом, папка .metadata
всегда будет находиться в родительской папке вашего репозитория git, и вам не нужно думать о том, нужно ли ее игнорировать:
|-- workspace/
| \-- .metadata/
| |-- yourProjectOne/
| | \-- .git/
| | |-- .project
| | |-- src/
| | |-- ...
| |-- yourProjectTwo/
| | \-- .git/
| | |-- .project/
| | |-- src/
| | |-- ...
для конкретного проекта
Вы, вероятно, всегда должны предоставлять общий доступ к файлу .project
, а не к файлам .settings/
. .classpath
может зависеть от вашей среды, но я бы не советовал им делиться, потому что это может вызвать конфликты (например, если один пользователь использует openjdk, а другой использует sun-jdk. .settings
содержит настройки и настройки для eclipse и сильно изменяется, поэтому не должен делиться им. Если вы правильно импортируете проект после того, как клонируете его из git, у вас также не будет никаких проблем.
В документации eclipse говорится о файле .project
:
Цель этого файла - сделать проект самоописываемым, поэтому
что проект, который заархивирован или выпущен на сервер, может быть
правильно воссоздан в другом рабочем пространстве.
и
Если новый проект создается в месте, которое содержит существующий
файл описания проекта, содержимое этого файла описания будет
почитайте как описание проекта. Единственным исключением является то, что
имя проекта в файле будет игнорироваться, если оно не совпадает с именем
проекта создается. Если файл описания на диске
неверно, создание проекта не удастся.
Я также предлагаю использовать Maven, так как это избавит вас от многих проблем с управлением зависимостями и .classpath
Maven
Основным отличием проекта Maven является то, что вы можете импортировать проект как Maven -> «Существующие проекты Maven», и, таким образом, вам нужно только поделиться файлами pom.xml и .project
в git. Eclipse автоматически создаст для вас .classpath, .settings/
файлы. Таким образом, очевидно, вам не нужно делиться ими. Если что-то меняется в pom.xml, вы просто запускаете Maven -> «Обновить конфигурацию проекта» и Maven -> «Обновить зависимости».
Без Maven
Вы должны совместно использовать файл .project
, а не папку .settings/
. Вы можете рассмотреть возможность совместного использования .classpath, но это может привести к конфликтам, как описано выше. Я бы посоветовал не делиться этим. Используйте метод ниже, чтобы импортировать проект:
После того, как вы клонировали git-репозиторий, вы можете просто использовать Import -> «Existing Project from Workspace», eclipse распознает файл .project
, но воссоздает файлы .classpath
и .settings/
. После импорта вам нужно будет вручную настроить classpath из Eclipse (и каждый раз, когда ваша команда хочет использовать другую библиотеку).
Если вы не передаете файл .project, то невозможно импортировать проект с Eclipse. Сначала вам нужно будет создать новый проект с помощью мастера проектов, а затем выбрать импорт «General-> File System», при этом все файлы будут скопированы в вашу рабочую область. Вероятно, это не то, что вам нужно, потому что это означает, что вы не можете клонировать репозиторий git в рабочую область, вы должны клонировать его где-то еще, а затем импортировать его оттуда. Поэтому вы всегда должны делиться файлом .project.
Пожалуйста, оставьте комментарий, если у вас есть предложения к этому объяснению или вы не согласны с ним. Я надеюсь, что это помогает одному или другому.