Исправленная версия статьи.
Шаг 1 - Установка клиента Яндекс Диск
Регистрируемся на сервисе, скачиваем и устанавливаем клиент с официального сайта (https://disk.yandex.ru/download#pc)
Доступны версии для Windows и .deb пакет для Linux дистрибутивов.
Для Windows во время установки можно указать папку где будут синхронизироваться данные. После установки нужно ввести в клиенте свой логин и пароль. Далее можно переходить к следующему шагу.
Для Ubuntu нужно в терминале выполнить команду после установки:
$ yandex-disk setup
Далее вводим данные, которые попросит программа установки:
- Название каталога в котором будут храниться данные. По дефолту ~/Yandex.Disk
- Использовать или нет прокси сервер (y/n).
- Запускать или нет при старте системы (y/n).
- Логин от аккаунта Яндекс.
- Пароль от аккаунта Яндекс.
На этом настройка закончена и в домашнем каталоге home появится папка Yandex.Disk.
Шаг 2 - Установка и настройка виртуального сервера в папку Яндекс Диска
После прохождения первого шага у вас должна появится новая папка куда будет все синхронизироваться с Яндекс Диска. Теперь необходимо установить и настроить сервер, так, что бы папки проектов лежали в директории которая синхронизируется с Яндекс Диском.
Для Windows просто установить OpenServer в папку Яндекс Диск.
Для Ubuntu ставим LAMP или любой другой сервер, настраиваем vhosts в папку Яндекс Диск. Для тех кто не знает как ставить идите в гугл, это довольно большая тема. В интернете полно инструкций.
Шаг 3 - Инициализация репозитория
После прохождения второго шага у вас должен быть установлен Яндекс Диск, а папки ваших проектов должны лежать в его директории. Вы должны убедиться что ваши виртуальные сервера работают.
Теперь все готово для создания репозиториев. Отправляемся в терминал и вводим следующие команды:
1. В папке каждого вашего проекта инициализируйте репозиторий.
git init
2. Просим Git добавить файлы в индекс
git add .
3. Делаем первый коммит
git commit -m "Repository Init"
4. Меняем конфиги, что бы можно было локально пушить
git config receive.denyCurrentBranch updateInstead
git config --bool core.bare true
Принцип работы:
Ваши разработчики имеют аккаунт на яндексе, вы делегируйте доступ в каталоги определенных проектов. Получается у всех разработчиков проекты лежат локально на компьютере и синхронизируются через Яндекс Диск. Желательно сделать всем разработчикам отдельные ветки.
Плюсы.
- Недорого
- Очень много места на диске
- Данные синхронизируются (по сути бекап)
Минусы:
- Нет веб интерфейса, например как в GitLab, вам придется поставить GitKraken или аналоги.
- Задержка синхронизации
- Торможение компьютера при работе с большими проектами, где много мелких файлов. Ваш компьютер ляжет, пока не закончится синхронизация.
Вывод
Не рекомендую так делать. Написал статью в качестве эксперимента. Берегите нервы, если поставить в .gitignore весь мусор (картинки, папку vendor), то проект будет занимать не более 10-15мб.
GitHub c его бесплатным лимитом вам хватит с головой.