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

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

Конечно многие не хранят проекты долго, но я например храню и не менее 3х лет. Так же длительное хранение удобно тем, что в случае обращения старого клиента модернизировать его проект, вам не нужно, качать бекап, ставить, настраивать и тд.

Схема настройки Яндекс Диск + GIT

Шаг 1 - Установка клиента Яндекс Диск

Регистрируемся на сервисе, скачиваем и устанавливаем клиент с офф. сайта (https://disk.yandex.ru/download#pc)

Доступны версии для Windows и .deb пакет для Linux дистрибутивов.

Для Windows во время установки можно указать папку где будут синхронизироваться данные. После установки нужно ввести в клиенте свой логин и пароль. Далее можно переходить к следующему шагу.

Для Ubuntu нужно в терминале выполнить команду после установки:

$ yandex-disk setup

Далее вводим данные, которые попросит терминал:

  1. Название каталога в котором будут храниться данные. По дефолту Yandex.Disk
  2. Использовать или нет прокси сервер (y/n).
  3. Запускать или нет при старте системы (y/n).
  4. Логин от аккаунта Яндекс.
  5. Пароль от аккаунта Яндекс.

На этом настройка закончена и в домашнем каталоге home появится папка яндекс диска.

Шаг 2 - Установка и настройка виртуального сервера в папку Яндекс Диска

После прохождения первого шага у вас должна появится новая папка куда будет все синхронизироваться с Яндекс Диска. Теперь необходимо установить и настроить сервер, так, что бы папки проектов лежали в директории которая синхронизируется с Яндекс Диском.

Для Windows просто создаем в корне каталога Яндекс Диск папку projects и заливаем в нее OpenServer.

Для Ubuntu ставим XAMPP или любой другой сервер. Для тех кто не знает как ставить XAMPP в Ubuntu ниже видеоинструкция из двух частей :-)

Делаем все как на видео, но направляем наши виртуальные хосты в папки проектов в директории Яндекс Диска

Часть 1

Часть 2

Шаг 3

После прохождения второго шага у вас должен быть установлен Яндекс диск, а папки ваших проектов должны лежать в его директории. Вы должны убедиться что ваши виртуальные сервера работают.

Теперь все готово для создания репозиториев. Отправляемся в терминал (Ubuntu) или Git Bash(Windows) и вводим следующие команды:

1. В папке вашего проекта инициализируйте репозиторий.

git init

2. Создаем любой файл, например - readme.txt

3. Просим Git добавить файлы в индекс

git add .

4. Делаем первый коммит

git commit -m "Repository Init"

5. Меняем конфиги, что бы можно было локально пушить

git config receive.denyCurrentBranch updateInstead
git config --bool core.bare true

Принцип работы этого странного подхода:

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

Плюсы этого подхода.

  1. Бесплатно или недорого, смотря какой тариф
  2. Очень много места на диске
  3. Проект в репе настраивается только один раз (composer install и тд.)
  4. Соответственно, не боимся потерять данные в случае ЧП

Минусы:

  1. Нет веб интерфейса, например как в GitLab
  2. Есть некоторая задержка в синхронизации, иногда лучше создавать под каждого разработчика отдельную ветку, что бы мерджить данные без подгорания булок.

На последок скажу, что решить проблему с интерфейсом можно используя адекватную IDE (phpstorm, webstorm, atom, komodo и тд). Или поставить клиент для гита (SmartGit, GitCola и тд)