Как подключить github к реальному проекту?

Недавно решил наконец перевести свой проект на github, начал изучать вопрос и наконец совсем запутался.
В итоге сейчас в принципе уже не совсем понимаю предназначение github.

Суть вопроса следующая, вот к примеру у меня есть какой-либо веб-проект / стартап. И я его активно делал - сделал, купил домен, хостинг - выложил туда все и результат можно смотреть по адресу www.стартап.ru - условно.

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

И теперь я совсем не понимаю, можно ли здесь как-то применить github именно для работы над проектом.

То есть цель то в том, чтобы файлы моего сайта на хостинге - стали мастер бренчем, а чтобы я и все мои друзья могли работать со своими бренчами как угодно, и только сделав мердж с мастер бренчем - данные на сайте обновлялись.

Но ведь github получается не для этого предназначен? у меня же он не привязан непосредственно к моему сайту - это просто файлы, которые лежат отдельно - и как запустить проект с гитхаб непонятно? Где же тогда смотреть свои изменения и тестировать разработки, если с github это не получается? как происходит работа с гитхаб?

Если по-другому, то прошу объяснить как правильно собрать вместе:

- готовый сайт с доменом на хостинге
- IDE PhpShtorm
- возможность использовать git - так, чтобы мастер бренч был завязан непосредственно с продуктом - сайтом

и причем здесь github? на каких условиях он может быть здесь подключен?

Спасибо. )
  • Вопрос задан
  • 3785 просмотров
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Git
software engineer
Нельзя на сайт выкладывать репозиторий.
github нужно использовать для хранения репозитория со всеми версиями.

То есть мастер это не сайт. Мастер и другие бренчи - это внутри репозитория, а на сайт файлы выкладываются в процессе деплоя, без всяких .git и других служебных файлов, в противном случае это уязвимость.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
sabramovskikh
@sabramovskikh
github это только место хранения информации из git.
Создаете там пустой проект (репозиторий). Создаете на хостинге git clone этого проекта, добавляете файлы и делаете push на сервер гитхаба.
Далее ваша команда делает git clone вашего репозитория и делает нужную им работу, так же пушит на сервер. Когда вам нужно вы делаете pull с сервера гитхаба на хостинг сайта.
Ну это вкратце и этого должно хватить на первое время.
На ютубе вроде есть уроки по гиту, советую посмотреть их
Ответ написан
@malbaron
Если речь идет об открытой разработке - то вполне github.
Если речь идет о закрытой разработке с постоянной командой, то лучше что-то типа gitlab, он позволяет плотнее организовать работу над проектом.

Github и пр. - всего лишь хранилища.
Как подключить к вашему проекту - решаете вы в каждом проекте отдельно.
У нас просто при очередном коммите срабатывает хук в Gitlab, который дергает утилиту, которая засасывает файлы в Docker-образ. Этот образ запускается на тестовом сервере. Если проходят тесты успешно то образ запускается на боевом сервере, запросы роутятся на новый сервер, старый образ на боевом сервере отключается.

Как сделать - также читать тут:
https://flynn.io/docs/basics
или тут:
https://deis.com/workflow/how-it-works/

Git, Github, Gitlab, Bitbucket и т.п здесь не более чем хранилище исходных файлов.
Возможно, умное хранилище, но не более того.

Само по себе оно ваш сайт не запустит.
Исключение - статические сайты или сайты где вся логика во фронтенде.
См. github pages и т.п.
Ответ написан
@itexams Автор вопроса
а есть ли вообще какой-то бест практис о том, как это должно работать? имеется ввиду разработка реального проекта вместе с гитхаб?
Ответ написан
Ваш ответ на вопрос

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

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