Работа с Git на хостинге

На хостинге Timeweb вы можете использовать Git — систему контроля версий для разработки и поддержки проектов.

В статье мы рассмотрим, как создать git-репозиторий на аккаунте виртуального хостинга и настроить подключение к удаленному репозиторию на Github.

Настройка git на хостинге

  1. Подключитесь к своему аккаунту по SSH
  2. Перейдите в директорию, в которой будет размещаться репозиторий:
cd директория_сайта/public_html/
  1. Иницииализируйте репозиторий:
git init

Эта команда создаст подкаталог .git с необходимыми файлами репозитория.

  1. С помощью команд ниже укажите имя пользователя и e-mail, которые будут отображаться в удаленном репозитории Github (в ветках при коммитах и т.д.). Замените имя_пользователя и test@example.com на нужные вам значения; они могут быть любыми.
git config --global user.name "имя_пользователя"
git config --global user.email test@example.com
  1. Проиндексируйте файлы, которые нужно отправить в удаленный репозиторий.

Чтобы выбрать все файлы в текущем каталоге, используйте:

git add .

Если нужно выбрать только отдельные файлы или каталоги:

git add имя_директории/имя_файла
  1. Сделайте коммит, чтобы сохранить текущее состояние проекта в репозиторий:
git commit -m 'first commit'

Подключение удаленного репозитория Github

Дальнейшее описание предполагает, что у вас уже создан аккаунт на github.com.

Шаг 1. Создание SSH-ключа

  1. Создайте директорию .ssh, в которой будет сохранен ключ:
mkdir .ssh
  1. Сгенерируйте ключ командой ниже.
ssh-keygen -t rsa
  1. При запросе Enter file in which to save the key (home/u/user/.ssh/id_rsa) укажите:
./.ssh/id_rsa
  1. Дважды введите пароль, который будет использоваться при подключении по SSH-ключу. Вы также можете оставить этот запрос пустым (нажав Enter), тогда подключение будет производиться без пароля.

На этом создание ключа завершено.

Шаг 2. Добавление ключа в аккаунт Github

  1. Выполните команду ниже, чтобы вывести содержимое публичного ключа id_rsa.pub в консоли:
cat ./.ssh/id_rsa.pub
  1. Скопируйте содержимое ключа.
  2. Сохраните его в своем аккаунте Github в разделе Settings -> SSH and GPG keys -> New SSH key.

Шаг 3. Проверка подключения к Github

  1. Выполните команду:
ssh -i ./.ssh/id_rsa git@github.com
  1. При запросе Are you sure you want to continue connecting (yes/no)? введите yes.
  2. Введите пароль, если вы указывали его при создании ключа. 

Если подключение было выполнено успешно, вы увидите сообщение:

You've successfully authenticated, but GitHub does not provide shell access. Connection to github.com closed.

Шаг 4. Подключение к удаленному репозиторию Github

  1. Выполните команду ниже, чтобы запустить менеджер ключей SSH-agent (обратите внимание, что должны быть использованы именно обратные кавычки):
eval `ssh-agent`
  1. Добавьте в него созданный ключ:
ssh-add ./.ssh/id_rsa
  1. В своем аккаунте Github найдите корректную ссылку для подключения к нужном репозиторию. Она будет иметь примерно следующий вид:
git@github.com:имя_пользователя/имя_репозитория.git
  1. Подключите репозиторий, указав полученную ссылку в команде, например:
git remote add origin git@github.com:timewebtest/test.git
  1. Теперь вы можете отправить локальную ветку master в ваш репозиторий на Github командой:
git push -u origin master

Если действие было выполнено успешно, вы увидите сообщение:

Branch 'master' set up to track remote branch 'master' from 'origin'.