Я типичный пользователь Eclipse/Subversion, начинающий переход на Git. Я изучил основные концепции git и решил изначально придерживаться подхода «один проект на репозиторий», чтобы все было просто. Однако у меня все еще возникают проблемы с решением, где разместить репозиторий для каждого проекта.
Я потратил много времени на просмотр ответов на этот вопрос, хотя я считаю, что автор этого вопроса предполагалось, что вы можете использовать Eclipse для управления репозиторием только в том случае, если репозиторий находится в рабочей области Eclipse, что, конечно же, неверно.
Однако больше всего меня поразил тот факт, что все ответы, кроме одного (включая принятый ответ), предлагали хранить репозиторий внутри рабочей области Eclipse, тогда как только в одном ответе указывалось, что Руководство пользователя EGit рекомендует прямо противоположное.
Однако на практике может оказаться, что существует ряд подходов, реализованных Eclipse/EGit, некоторые из которых противоречат рекомендациям EGit.
Например, если вы используете мастер создания нового проекта для создания нового проекта PHP из Git, а репозиторий удален, Eclipse/EGit с радостью создаст папку проекта в рабочей области Eclipse и поместит репозиторий (.git) в папку проекта. Это конечный результат, который мне действительно нужен, поскольку он сохраняет все инкапсулированное в рабочей области Eclipse.
Однако если вы используете мастер создания новых проектов и выбираете локальный репозиторий Git, Eclipse/EGit не клонирует репозиторий, как это делается для удаленных репозиториев. Вместо этого он использует рабочую копию этого репозитория в качестве местоположения проекта, создает свой .project и другие метаматериалы в этом местоположении, а также создает новую (на первый взгляд ненужную) папку в этой рабочей копии с тем же именем, что и ваш проект (так что вы заканчиваете вверх, например, ~/git/blah/blah
). Если вы удалите эту лишнюю папку, вы получите структуру, идентичную первому примеру, с той лишь разницей, что папка проекта не является подпапкой вашей папки рабочей области Eclipse, она находится где-то еще в вашей файловой системе (например, ~/git/blah
). Единственная положительная сторона этого подхода, похоже, заключается в том, что он придерживается рекомендаций в руководстве пользователя EGit, но с технической точки зрения трудно понять, чем он действительно отличается от первого примера.
Учитывая эти загадочные наблюдения, мне интересно, какой опыт люди получили, используя каждый из этих подходов, и какие подводные камни могут быть, если игнорировать рекомендации в руководстве пользователя EGit.