2015-03-14 4 views
4

Я собираюсь начать проект с новыми сотрудниками, и мы пытаемся найти лучший способ настроить наши рабочие среды.Использование git «внутри» или «снаружи» виртуальной машины?

Мы используем Vagrant и Virtual Box для работы с одной и той же средой и с git, нам было интересно, нужно ли устанавливать git внутри виртуальной машины и нажимать на нее или просто использовать git для нашей локальной ОС в Вагрированные общие папки.

Что вы, ребята, обычно делаете, работая в команде?

+0

Это не имеет значения. Каждый разработчик может делать то, что им нравится. в буквальном смысле нет разницы. – meagar

+0

Я использую git везде, где мне нужно редактировать файлы. –

+0

Когда я занимаюсь веб-разработкой, я следую второму подходу, папке, содержащей Vagrantfile, и вложенной папке с wwwroot с материалом, над которым я работаю (который будет загружен как общий бродяга-бродяга), станет корнем git repo для проекта. Таким образом, каждый будет использовать ту же конфигурацию vm. –

ответ

4

Я почти всегда использую Git за пределами виртуальной машины. Таким образом, в VM нет важного состояния, и я могу выбросить его и перестроить, либо вернуться к снимку, или что-то в этом роде, не беспокоясь о потере любого нераскрытого состояния, stashes, uncommitted files и т.п. ,

+0

Спасибо, это то, что я думал в первую очередь. Думаю, мы начнем с хост-системы и приспособимся, если почувствуем, что в этом есть необходимость. – doobr

+0

Возможно, что-то у меня что-то отсутствует, но когда папка '.git' находится в папке'/vagrant' или какая-либо общая папка с хостом os, то в vm не сохраняется состояние. В дополнение к хостам os в vm устанавливаются только двоичные файлы git. – hek2mgl

+0

@ hek2mgl Да, когда вы используете общую папку, каталог '.git' находится на хосте. Однако общие папки фактически не поддерживают все, что вам нужно; в частности, вы не можете создавать символические ссылки из гостевой папки в общей папке. –

0

Я думаю, что оба они полезны, имея git на хосте os и в vm. Наличие на хосте os позволяет использовать git без необходимости вводить vm, если он в vm позволяет использовать git, не выходя из vm (если вы сейчас работаете там)

0

Обычно вы будете работать локально с бродягой , Таким образом, вы должны иметь git на локальной машине.

Репозиторий git будет находиться в общей папке. Если вы устанавливаете git на виртуальную машину, любые ваши коммиты, сделанные для общих папок, будут видны на локальном компьютере.

0

Лучшая практика теперь для git состоит в том, чтобы иметь один основной репозиторий (обычно называемый origin), размещенный в сети GitHub, BitBucket или любой другой услугой.

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

Каждая среда, которая должна читать или записывать файлы в репозитории, обычно должна иметь свою собственную локальную копию.

Так что это действительно неважно, как использовать VM для ваших целей.

Единственное, что связано с общими папками - знать правила доступа к файлам. Если ваша установка не может обеспечить достаточный доступ для модификаций файловой системы, git может не работать должным образом.

Смежные вопросы