Как лучше хранить репозиторий Git внутри или вне рабочей области Eclipse?

Я обычный пользователь Eclipse/Subversion, начинающий переход на Git. Я изучил основные концепции git и решил изначально придерживаться подхода «один проект на репозиторий», чтобы все было просто. Однако у меня все еще возникают проблемы с решением, где разместить репозиторий для каждого проекта.

Я потратил много времени на просмотр ответов на этот вопрос, хотя я полагаю, что автор этого вопроса предполагал, что вы можете использовать Eclipse для управления репозиторием только в том случае, если репозиторий расположен в Eclipse workspace, что, конечно же, не соответствует действительности.

Что меня больше всего поразило в этом вопросе, так это тот факт, что все ответы, кроме одного (включая принятый ответ), предлагали хранить репозиторий внутри рабочей области Eclipse, тогда как только в одном ответе указывалось, что EGit Руководство пользователярекомендует прямо противоположное.

Однако на практике может оказаться, что Eclipse/EGit реализует ряд подходов, некоторые из которых противоречат рекомендациям EGit.

Например, если вы используете мастер создания нового проекта для создания нового проекта PHP из Git, а репозиторий удален, Eclipse/EGit с радостью создаст папку проекта в рабочей области Eclipse и поместит репозиторий (.git) в папка проекта. Это конечный результат, который мне действительно нужен, поскольку он сохраняет все инкапсулированное в рабочей области Eclipse.

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

Учитывая эти загадочные наблюдения, мне интересно, какой опыт люди получили, используя каждый из этих подходов, и какие подводные камни могут быть, если кто-то игнорирует рекомендации в Руководстве пользователя EGit.

39
задан Community 23 May 2017 в 12:25
поделиться