Несколько тегов, разделённых запятой, означают логическое И между ними. Вы также можете использовать точку с запятой в качестве логического ИЛИ. И имеет высший приоритет над ИЛИ. Вы не можете использовать скобки для группировки условий. Звёздочка (*) внутри тега используется в качестве маски для "подстроки".
Разделы: Документация / Администрирование
Данная статья будет полезна тем разработчикам, кто стремиться добиться одной из следующих целей:
Требования:
Прмеры в данной статье даны в виде текстовых команд для командной оболочки операционной системы. На клиентской сторне (компьютере разработчика) часть команд может быть выполнена и из графической оболочки Git.
Внимание: на случай если что-то пойдет не так при синхронизации через Git лучше иметь при себе архив (бекап) рабочей копии. Поэтому убедитесь, что вы сделали копию перед любыми экспериментами или применением данных инструкций.
Примеры команд даны применительно к Unix-подобным системам. Для использования их в Windows среде, возможно, потребуется установить дополнительное ПО.
Для создания локальной копии (для разработки) давайте скопируем (клонируем) файлы из официального Git репозитория Котонти. Термин клонирование употреблен здесь как прямой перевод термина «clone» используемого в системе Git. Для клонирования в локальную директорию, выбираем ее (использую команду `cd`), а затем используем следующее:
git clone -o cotonti git://github.com/Cotonti/Cotonti.git .
Опция `-o` отвечает за то, что будет использован репозиторий с именем `cotonti`, вместо стандартного (по умолчанию) `origin`.Точка в конце строки указывает на то, что копия будет размещена в текущем каталоге (именно для этого каталог надо выбрать заранее). При необходимости можно указать прямой путь в к необходимой папке. В результате мы получим последнюю (самую свежую) копию ветки `Siena/master`.
Если вы используете ветку `Genoa`, то команда будет выглядеть так:
git clone -o cotonti -b genoa git://github.com/Cotonti/Cotonti.git .
Ключ `-b` задает имя ветки источника. По умолчанию это master (siena).
После клонирования (создания локальной копии) вы можете легко переключиться на любую конкретную версию Cotonti. Каждая отдельная (выпускавшаяся) версия в репозитории описана собственным тегом, вида "cotonti-x.y.z". Для переключения на конкретную ветку используем это тег:
git checkout cotonti-x.y.z
Теперь у вас есть локальная копия актуальной (или любой другой на выбор) версии Котонти. Вы можете производить над ней любые опыты и применять любые команды Git. В разделе «ссылки» вы можете найти ссылки на различные ресурсы описывающии использование Git в повседневной разработке.
Если вы готовы создать репозиторий на своем рабочем сервере, и синхронизировать вашу локальную копию с сервером, используйте следующие команды:
ssh -l your_login example.com mkdir site.git && cd site.git git init --bare echo -e "#!/bin/sh\nGIT_WORK_TREE=/path/to/htdocs git checkout -f" > hooks/post-receive chmod +x hooks/post-receive
Первая команда подключит вас к вашему серверу по SSH (настройка SSH выходит за рамки данной инструкции, но вы без труда найдете описания в интернете). Строки 2-3 создают отдельную папку для служебных файлов Git и инициализаруют новый репозиторий в этой папке. Строка 4 создает скрипт, который будет автоматически применять изменения для вашего сайта. Замените `/path/to/htdocs` строкой с актуальным путем к файлам вашего сайта. 5-я строка делает этот скрипт исполняемым.
Затем мы можем вернуться к компьютеру разработчика и отправить файлы на сервер:
git remote add site ssh://your_login@example.com/path/to/site.git git push site master
Замените имя ветки `master` на `genoa` (или другую) актуальную для вас.
Теперь вы можете использовать команды для синхронизации описанные в одном из следующих разделов.
Для использования этого сценария, полагаем, что вы уже настроили и инифиализировали репозиторий `site.git` на вашем веб сервере (см. предыдущий раздел). Если репозиторий был инициализирован, но вы не добавляли никаких файлов для мониторинга изменений в Git, тогда необходимо перейти в каталог файлов сайта и выполнить команду `git add`:
ssh -l your_login example.com cd /path/to/htdocs GIT_DIR=/path/to/site.git git add . GIT_DIR=/path/to/site.git git commit -q -m "Added site files"
Примечание: использование переменной GIT_DIR необходимо при вызове команд Git на червере, потому, что файлы Git храняться отдельно от файлов самого сайта.
После того как выш удаленнй репозиторий `site.git` заполнен и имеет актуальную копию, выши коллеги по разработке могут клонировать репозиторий на свои локальные ПК:
git clone -o site ssh://user2_login@example.com/path/to/site.git
Укажите аргумент `-b genoa`, если импользуете ветку Genoa. Еще можно внести основной репозиторий в список удаленных:
git remote add cotonti git://github.com/Cotonti/Cotonti.git
Это позволит боле просто использовать команды отправки (pull) и получения (push) изменений с основного сервера (конкретные команд приведены в следующем разделе)..
Если вы настроили локальный и рабочий репозиторий (как описано выше) вы можете использовать команды описанные в разделе ниже.
Примечение: если используете версию `Genoa` замените имя ветки с `master` на `genoa` во всех приведенных комендах.
Для обновления локальной копии до последней актуальной версии Cotonti (получение последних изменений) используйте:
git pull cotonti master
Для применения текущих изменений к вашему сайту:
git push site master
Для получения с рабочего сайта (вашего веб-сервера) изменений внесенных разработчиками из вашей команды:
git pull site master
Разделы: Documentation / Administration
This guide is aimed at Cotonti site owners who whish to achieve at least one of the following goals:
Requirements:
Examples of actions in this guide are given as shell commands. On client-side you can substitute some of them with GUI client actions.
Warning: if something goes wrong or you make a mistake while syncing with Git it is better to restore you files from a backup. So make sure to make one before trying any of the following scenarios.
Let's create a local Git repository by cloning one of Cotonti's branches into current directory on your computer. To clone from latest Siena/master:
git clone -o cotonti git://github.com/Cotonti/Cotonti.git .
The option -o says to name the reference to Cotonti repo as "cotonti" rather than "origin" (default in git) to avoid confusion. The point at the end means that it will be checked out into the current directory, replace it with another path if necessary.
If you use Genoa branch, use this command:
git clone -o cotonti -b genoa git://github.com/Cotonti/Cotonti.git .
The -b option sets the branch name to checkout. Default is master (siena).
After cloning, if you want to switch to specific release tag "cotonti-x.y.z", use Git checkout command with the following options:
git checkout cotonti-x.y.z
Now you have a local copy of Cotonti's repository. You can manipulate with it any way you like. Useful resources about using Git in your daily life are listed in References section of this article.
Once you are ready to setup a Git repository on your remote site and push your synced Cotonti there, do it with this scenario:
ssh -l your_login example.com mkdir site.git && cd site.git git init --bare echo -e "#!/bin/sh\nGIT_WORK_TREE=/path/to/htdocs git checkout -f" > hooks/post-receive chmod +x hooks/post-receive
Line 1 is connecting to your site's SSH. On lines 2-3 we create a new location for git-sepcific files and initialize a new repo therer. Line 4 creates a script which will automatically apply changes to the site files, replace /path/to/htdocs with an actual path to your Cotonti site on this server. 5th line makes this script executable.
Then you can get back to your local repository and push it to the server:
git remote add site ssh://your_login@example.com/path/to/site.git git push site master
Replace "master" with "genoa" or another branch you currently use.
After that you will be able to use synchronization commands described in one of the following sections.
In this case we assume that you have already initialized site.git repository for your remote website, for example with a script given in the previous Use Case. If you have initialized a repository on your server alone but you have not added any files there to be monitored by Git, then you should do it by entering your site's htdocs and running "git add" command there:
ssh -l your_login example.com cd /path/to/htdocs GIT_DIR=/path/to/site.git git add . GIT_DIR=/path/to/site.git git commit -q -m "Added site files"
Note: GIT_DIR is necessary in git calls on server because Git files are stored separately from site files on server.
Once your remote site.git repository is filled and up to date, your teammates can clone it to their own local copies:
git clone -o site ssh://user2_login@example.com/path/to/site.git
Specify "-b genoa" argument if using Genoa branch. They can also add a Cotonti's repository to git remote list too:
git remote add cotonti git://github.com/Cotonti/Cotonti.git
Then they can just pull and push like you do, necessary commands are given in the next section.
If you have configured your local and remote repository like described above, you can use the following commands in your daily workflow.
Note: if you use Genoa branch rather than Siena, subsitute "master" with "genoa" in all the given commands.
To update your local copy with latest changes from Cotonti repository:
git pull cotonti master
To apply recent changes to your site:
git push site master
To grab latest changes your colleagues have pushed to the site:
git pull site master
Happy deployment with Git!
Разделы: Documentation (Genoa and older) / English / Video Tutorials / How To Upgrade
Разделы: Documentation (Genoa and older) / English / Video Tutorials