2015-04-15 8 views
1

Мне хотелось бы получить совет о том, как настроить Git для существующего веб-сайта в реальном времени на производственном сервере (только на одном сайте - без vHosts и т. Д.).Принесите сайт под контроль источника с использованием .Git

Существует несколько примеров того, как достичь этого, но все они относятся к тому, когда вы начинаете новый проект.

Я хотел бы воспроизвести этот сценарий, который описывает, как настроить удаленный репозиторий, и создать привязку после обновления для копирования файлов в каталог www после проверки. Это концепция, которую я могу понять (https://danielmiessler.com/study/git/#website)

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

Прошу прощения за то, что я не знаю достаточно о том, как Гит понимает, как добиться результата, описанного в статье Дэниела, из моей начальной позиции наличия кода на сервере на производстве.

My Config (CentOS 6/Nginx):

Git Repository (это должно быть в отдельном месте от WWW)

/home/username/repository/website.git 

Сообщение Обновление Крюк Расположение файла

/home/username/repository/website.git/hooks/post-update 

Публикация сообщения об ошибке «Крюк»

GIT_WORK_TREE=/var/www/website git checkout -f 

Каталог Сайт

/var/www/website 

Я также игнорировать файл

/var/www/website/.gitignore 

Может кто-то любезно помочь с командами Git. Я могу инициализировать /var/www/website/.git (с первоначальной фиксацией), но не знаю, как настроить /user/username/repository/website.git на то, как описано в статье.

ответ

1

Этапы, показанные в руководстве, совершенно одинаковы для нового проекта или существующего. Примеры, которые он дает на шаге 2 создания html-файла, могут быть заменены добавлением существующего содержимого в ваш рабочий каталог.

Итак, запустите git init в новой рабочей папке, хотя это можно сделать в существующей папке, так как она не изменяет ни один из текущих файлов. Поместите свой текущий веб-контент в одну и ту же папку, либо импортируя из резервной копии, либо вытаскивая прямо из вашей живой среды, это не имеет большого значения.

Теперь вам нужно запустить команду git add для всех файлов, находящихся под контролем версий. Вам не нужно делать их индивидуально, подстановочные знаки и каталоги принимаются. Используйте git status, чтобы проверить, что все, что вы хотите, поставлено, а затем git commit -m с некоторым подходящим сообщением.

Я хотел бы предложить вам создать другой каталог локально и выдаю git init --bare команды там, создать крюк, чтобы толкать в другую папку, а затем нажать на голый репо с

git push --set-upstream [/your/local/bare/repo] master 

Просто чтобы убедиться, что у вас есть весь контент и что вам удобно с git

Смежные вопросы