Подтвердить что ты не робот

Несколько Git ветвей в проектах с несколькими затмениями

Мы находимся в процессе преобразования из Subversion в Git, и одна вещь, с которой я борюсь в Git, - это метод переключения ветвей.

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

В SVN я мог бы расположить рабочее пространство Eclipse, похожее на:

Workspace/
   Project1Branch/
   Project2Branch/
   Project3/
   Project4Branch/

Можно ли одновременно открывать несколько ветвей Git в одном и том же рабочем пространстве Eclipse/Egit (или любой другой среде)?

4b9b3361

Ответ 1

После большого тестирования и проверки работоспособности от @MarkLeightonFisher кажется, что в одном и том же рабочем пространстве Eclipse невозможно одновременно открывать несколько ветвей Git.

Ответ 2

Действительно, вы не можете импортировать несколько ветвей из одного репозитория git в рабочую область, потому что у него есть только один рабочий каталог, который может содержать только одну проверенную ветвь. Здесь очень разумное обходное решение, которое учитывает эту особенность git (я делаю это и хорошо работает): Скройте хранилище git во втором каталоге (или третьем или четвёртом), затем измените имя проекта вручную, отредактировав проект и изменив <name> элемент. Теперь вы можете импортировать этот проект вместе с оригиналом и работать с несколькими ветвями одновременно в одной рабочей области. Предостережение. Будьте очень дружелюбны с пунктом меню "Закрыть проект", чтобы избежать перекрестного редактирования (иногда это путает, когда у вас много открытых окон с одним и тем же именем...)

Ответ 3

На самом деле мне это удалось:

Вы можете иметь несколько рабочих пространств для одного репозитория git: это называется "worktree". (ограничение очевидно, что вы не можете проверить ту же локальную ветвь в двух разных рабочих деревьях. Ну, вы не должны этого делать, но некоторые команды могут привести вас к такой ситуации.)

https://git-scm.com/docs/git-worktree

Затем вы можете создать одно рабочее пространство eclipse для каждого рабочего дерева.