Настройка GIT на CentOS 7 (Bitrix)

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

Настройка GIT для Битрикс веб-окружения

В самом деле, процесс установки и настройки Гита для «битрикс веб-окружение» (что работает, как известно, на Centos) не сильно отличается от настройки Гита на локальном компьютере. Также этот процесс нельзя назвать очень сложным, достаточно лишь следовать пошаговой инструкции, приведенной ниже. В шагах, что рассматриваются далее в статье, я постараюсь не делать отступлений и комментариев (без необходимости), дабы не распылять внимание и сконцентрироваться на процессе настройки.

Шаг 1. Установка Git на сервер

Требуется соединиться с сервером по SSH (например через Putty или MobaXterm), вы увидите интерфейс «Битрикс Веб-окружения»:

Битрикс VM

Тут достаточно нажать 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. Настройка репозитория на сервере

Теперь создаем и настраиваем репозиторий на сервере:

  1. Переходим в нужную директорию: cd /home/bitrix/www
  2. Инициализируем новый Git репозиторий: git init

Шаг 4. Связь с Github

Для связки с GitHub нам потребуется выполнить несколько простых шагов:

Добавляем SSH ключ в ваш аккаунт GitHub

Переходим в настройки GitHub → SSH and GPG keys → New SSH key.

Связка репозитория с Github

Связка репозитория с Github (SSH ключ)

В открывшемся окне нужно вставить ваш SSH-ключ и сохранить его.

Связывание с удаленным репозиторием GitHub

Далее потребуется создать репозиторий на GitHub и получить его URL (например так, как показано на скрине):

URL репозитория на GitHub

Теперь связываем его с локальным репозиторием:

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