Перевести сайт под контроль исходного кода с помощью.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

Другие вопросы по тегам