Для начинающих разработчиков, несмотря на обилие мануалов по настройке Git для локальных машин, может оставаться неясным вопрос о настройке Git на сервере под управлением Linux. Приведенная ниже краткая инструкция призвана пролить немного света на данный вопрос.
В самом деле, процесс установки и настройки Гита для «битрикс веб-окружение» (что работает, как известно, на Centos) не сильно отличается от настройки Гита на локальном компьютере. Также этот процесс нельзя назвать очень сложным, достаточно лишь следовать пошаговой инструкции, приведенной ниже. В шагах, что рассматриваются далее в статье, я постараюсь не делать отступлений и комментариев (без необходимости), дабы не распылять внимание и сконцентрироваться на процессе настройки.
Шаг 1. Установка Git на сервер
Требуется соединиться с сервером по SSH (например через Putty или MobaXterm), вы увидите интерфейс «Битрикс Веб-окружения»:
Тут достаточно нажать ctrl + c, чтобы выйти в консоль.
Далее нам требуется установить Git:
sudo yum update
sudo yum install git
Проверяем установку:
git --version
Настройка имени пользователя и email для Git:
git config --global user.name "ВашеИмя"
git config --global user.email "ваша@почта.com"
Проверяем конфигурацию:
git config --list
Шаг 2. Создание SSH ключа
Теперь нам нужно создать SSH ключ для связки нашего репозитория с GitHub:
ssh-keygen -t rsa -b 4096 -C «ваша@почта.com»
Теперь нажимаем Enter, чтобы использовать предложенный путь к файлу.
Устанавливаем пароль для ключа (опционально).
Добавляем ключ в ssh-agent:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Копируем SSH ключ в буфер обмена:
cat ~/.ssh/id_rsa.pub
Шаг 3. Настройка репозитория на сервере
Теперь создаем и настраиваем репозиторий на сервере:
- Переходим в нужную директорию: cd /home/bitrix/www
- Инициализируем новый Git репозиторий: git init
Шаг 4. Связь с Github
Для связки с GitHub нам потребуется выполнить несколько простых шагов:
Добавляем SSH ключ в ваш аккаунт GitHub
Переходим в настройки GitHub → SSH and GPG keys → New SSH key.
В открывшемся окне нужно вставить ваш SSH-ключ и сохранить его.
Связывание с удаленным репозиторием GitHub
Далее потребуется создать репозиторий на GitHub и получить его URL (например так, как показано на скрине):
Теперь связываем его с локальным репозиторием:
git remote add origin git@github.com:ваш_пользователь/ваш_репозиторий.git
И проверяем связь:
git remote -v
Шаг 5. Первый коммит
Собственно, связка настроена и теперь мы можем сделать наш первый коммит:
Добавляем файлы в репозиторий:
git add . --all
Делаем коммит (фиксируем изменения):
git commit -m "Ваш комментарий"
Отправляем изменения на GitHub:
git push origin master
Получаем последние изменения с GitHub:
git pull origin master
В общем и целом, это все, что требуется для настройки GIT на сервере под CentOS. В качестве небольшого бонуса хотелось бы привести пример файла .gitignore для сайтов на битриксе (не идеальный, нужно дорабатывать под конкретный проект, но можно взять за основу):
/.htaccess
/upload/
logs/
/*.html
/sitemap*.xml
~*
*.log
/*.sql
Thumbs.db
.DS_Store
._.DS_Store
/robots.txt
/bitrix/.settings.php
/bitrix/activities/
/bitrix/admin/
/bitrix/backup/
/bitrix/click.php
/bitrix/components/
/bitrix/coupon_activation.php
/bitrix/footer.php
/bitrix/gadgets/
/bitrix/header.php
/bitrix/image_uploader/
/bitrix/images/
/bitrix/index.php
/bitrix/js/
/bitrix/css/
/bitrix/license_key.php
/bitrix/modules/
/bitrix/otp/
/bitrix/p3p.xml
/bitrix/redirect.php
/bitrix/rk.php
/bitrix/rss.php
/bitrix/sounds/
/bitrix/spread.php
/bitrix/stop_redirect.php
/bitrix/template/
/bitrix/themes/
/bitrix/tmp/
/bitrix/tools/
/bitrix/urlrewrite.php
/bitrix/virtual_file_system.php
/bitrix/web.config
/bitrix/wizards/
/bitrix/catalog_export/
/bitrix/updates/
/bitrix/panel/
/bitrix/services/
/bitrix/php_interface/include/sale_payment/
/bitrix/php_interface/include/sale_delivery/
/bitrix/php_interface/dbconn.php
/bitrix/cache/
/bitrix/managed_cache/
/bitrix/stack_cache/
/bitrix/html_pages/
/bitrix/blocks/
/bitrix/resize_cache/
/bitrix/dehydrated/
/bitrix/legal/
/bitrix/fonts/
/bitrix/templates/landing24/
/bitrix/templates/.default/
/bitrix/templates/print/
/bitrix/templates/web20/
/bitrix/.access.php
/bitrix/.bash_logout
/bitrix/.bash_profile
/bitrix/.bashrc
/bitrix/composer-bx.json
/personal/.access.php
/composer.json
/composer.lock
/urlrewrite.php