bigton
@bigton
Web-программист

Как настроить git на собственном сервере и заменить им работу по sftp?

Всем привет!

Работаю с сервером по sftp, в IDE изменил файл, нажал ctrl+s, файл отправился на сервер.
Хочу иметь историю изменений файлов.

Можно ли сделать примерно следующее?

Допустим такая структура на сервере
/var/www/site.ru/git - тут репозиторий
/var/www/site.ru/www - тут сайт

Создаю пользователя типа git-user с оболочкой /bin/git и доступом к репозиторию, чтобы можно было по ssh подключиться, но выполнять только git команды.

В IDE нажимаю strl+s, изменения отправляются на сервер, схватываются git'ом, а после этого git измененные файлы отправляет в папку www.

Спасибо за ответы.
  • Вопрос задан
  • 606 просмотров
Пригласить эксперта
Ответы на вопрос 3
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Да можно. У меня например все по ssh настроено. Создаете на сервере группу gitusers, в нее включаете пользователей, которым нужно дать доступ. Создаете каталог, например /opt/git , там создаете свои репозитории и устанавливаете разрашение для данной группы на чтение/запись.
Вот здесь все подробно описано - https://raymii.org/s/tutorials/Shared_Git_reposito...

Для просмотра репозиториев и организации групповой работы можно поставить www.redmine.org или https://trac.edgewall.org/ (или еще кучу подобного)
А можно просто установить gitweb - https://git-scm.com/book/ru/v1/Git-%D0%BD%D0%B0-%D...

Также можно установить комплексное решение типа https://about.gitlab.com/install/
Ответ написан
Комментировать
@eyeless_watcher
Репозиторий не должен находиться на том же сервере, что и само приложение, историю изменений лучше держать отдельно. Самый простой способ - сделать git init на локальном рабочем месте, коммитить там же, а на сервер заливать по старинке через sftp (причём желательно всегда полностью удаляя и перезатирая файлы).
Если не хочется, чтобы исходники с историей были только на локальной машине - их можно синхронизировать куда-нибудь наружу на сервисы типа github, gitlab, bitbucket.
Ответ написан
Комментировать
dlnsk
@dlnsk
ПК Партнер 01.01 -> ПК Поиск -> IBM PC
Вы можете начать пользоваться git и при этом продолжать заливать файлы по ftp.
Установите расширение https://github.com/git-ftp/git-ftp и вы сможете push'ить свои изменения через ftp. Копироваться будут только измененные файлы.
Установка и использование тривиальны: https://habr.com/post/178067/
Только имейте в виду, что на сервере не будет полноценного git-репозитория - только файлы, поэтому если у вас накроется локальный, то клонировать будет неоткуда.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы