Перевести сайт под контроль исходного кода с помощью.Git
Я хотел бы получить несколько советов о том, как настроить Git для существующего живого веб-сайта на рабочем сервере (только хостинг на одном сайте - без vHosts и т. Д.).
Есть несколько примеров того, как этого добиться, но все они относятся к тому, когда вы начинаете новый проект.
Я хотел бы повторить этот сценарий, который описывает, как настроить удаленный репозиторий и создать хук после обновления, чтобы копировать файлы в каталог www после проверки. Это концепция, которую я могу понять ( https://danielmiessler.com/study/git/)
Однако я сталкиваюсь со сценарием, когда на веб-сервере есть живой код, я хочу инициализировать Git на всех существующих живых файлах, а затем разрабатывать на моей локальной машине.
Мне жаль, что я недостаточно знаю о том, как Git понимает, как добиться результата, описанного в статье Дэниела, с моей исходной позиции - иметь живой код на сервере в производстве.
Мой Конфиг (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