Задать вопрос
@sergeyfilkin

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

Моя ОС Windows 7, а для разработки я использую виртуальную машину Virtualbox c Ubuntu 12.04. На виртуальном HDD есть репозиторий Git, файлы в котором я хотел бы редактировать из Windows.
Я настроил shared folder из интерфейса Virtualbox, но этим методом шарится только папка на хосте, а NTFS не поддерживает права доступа UNIX. Я скопировал репозиторий в расшаренную папку, и теперь `git status` на Ubuntu выдаёт множество изменённых файлов (изменились только права доступа). Я могу задать настройку git `git config core.fileMode false`, но это не совсем то, что мне нужно.
Вопрос к аудитории: как можно держать репозитарий на виртуалке, а редактировать файлы на винде, чтобы не менялись права файлов?
  • Вопрос задан
  • 2738 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python + Flask + Git: веб-разработка с нуля
    2 месяца
    Далее
  • Учебный центр IBS
    DEV-007 Введение в систему контроля версий Git
    1 неделя
    Далее
  • Stepik
    Git (система контроля версий)
    1 неделя
    Далее
Решения вопроса 1
@mayken
Samba решит вашу проблему. Сам пользуюсь этим методом. Через сетевую папку права не меняются.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@romanmd86
Vstav'te i host i guest v odnom LAN - Host-only adapter. Posle - samba ili nfs.
Ответ написан
Комментировать
silentvick
@silentvick
Сомневаюсь, что это возможно. Мне кажется, проще и правильней будет написать небольшой скрипт (shell или средствами языка/фреймворка/etc., который вы используете), выставляющий права "как надо" и положить его в репозиторий.
Ответ написан
Комментировать
Git распределенная система контороля версий, не нужно пользоваться ею как SVN. Клонируйте репозитории по необходимости, это же просто и можно делать локально.

Создайте в разделяемой папке bare репозиторий Git:

mkdir repo
cd repo
git init --bare


В Ubuntu добавьте в репозиторий ссылку на только что созданный разделяемый репозиторий и выполните в него push имеющихся коммитов.

git remote add origin [путь к папке разделяемого репозитория]
git push origin master #отправляем ветку master в удаленный репозиторий по ссылке origin


Теперь клонируем разделяемый репозиторий в Windows.

git clone [путь к разделяемому репозиторию]

и работаем в копии. Изменения отправляем и получаем командами push и pull.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽