easimonenko Evgeny Simonenko

Статические сайты и Git

10 Aug 2013 |  Tutorial  |  Web Development   Git  

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

Если Вы знакомы с системами управления версиями, то преимущества данного подхода Вам должны быть понятны. Если же Вы не знакомы, то вот они:

Отдельное преимущество Git-сервисов заключается также в том, что Ваш сайт обновляется автоматически с обновлением соответствующего хранилища файлов сайта (репозитория).

В этой заметке под Git-сервисами я буду подразумевать следующие два:

Общие черты этих двух сервисов:

Основное отличие Bitbucket от GitHub в том, что он позволяет бесплатно создавать приватные (закрытые от посторонних) репозитории.

Подготовка

Если Вы ещё не зарегистрированны на Git-сервисе, то первым делом сделайте это. После чего, используя всё тот же веб-интерфейс, создайте в нём репозиторий для своего сайта. Имя репозитория должно выглядеть так: LOGIN.github.io или LOGIN.bitbucket.org, соответственно, где LOGIN Ваш логин на данном Git-сервисе. Обновление файлов в этом репозитории будет приводить к автоматическому изменению Вашего сайта. (Ещё одно отличие Bitbucket Pages от GitHub Pages в том, что сайт на первом обновляется мгновенно, а вот на втором как-правило нужно подождать какое-то время.)

Теперь для добавления в репозиторий файлов сайта Вам потребуется утилита для работы с Git-репозиториями. Есть несколько вариантов:

Лично мне "фирменные" утилиты не понравились. Под Windows наиболее удобным вариантом оказалась TortoiseGit. Эта утилита интегрируется с Проводником, распознаёт папки с локальными копиями репозиториев и добавляет для них в контестное меню операции Git. Наконец, универсальным вариантом является стандартная утилита командной строки git. Её мы и будет здесь использовать.

Локальная копия

Теперь, когда у Вас есть Git-репозиторий и сайт, который нужно на него "залить", запустим оболочку (shell) и перейдём в каталог с файлами сайта.

Если Вы раннее не работали с Git, то прежде чем выполнять дальнейшие действия, Вам нужно немного настроить git:

git config --global user.name "Ваше имя"
git config --global user.email "Ваш email"

Теперь проинициализируем текущий каталог в качестве локальной копии репозитория:

git init
git remote add origin https://LOGIN@SERVICE/LOGIN/REPOSITORY.git

В последней команде под SERVICE понимается адрес Git-сервиса, а под REPOSITORY - название репозитория.

Добавление и изменение файлов

Далее, добавим файлы сайта в репозиторий:

git add .
git commit -m "First commit"
git push -u origin --all

Всё, Ваши файлы "залиты" в репозиторий, и Вы можете наслаждаться Вашим сайтом по ссылке вида LOGIN.github.io или LOGIN.bitbucket.org в зависимости об выбранного сервиса.

В дальнейшем, любые действия по добавлению и изменению файлов сайта должны сопровождаться вышеприведёнными командами.

Удаление файла

Если Вам нужно удалить файл из репозитория, запустите команду:

git rm FILE

Перемещение файла

Для перемещения файла в пределах репозитория, переместите файл в локальной копии репозитория, а затем запустите пару команд:

git add FILE
git rm FILE

Загрузка репозитория

Копирование (клонирование) удалённого репозитория делается командой:

git clone https://LOGIN@bitbucket.org/LOGIN/REPOSITORY.git

Загрузка обновлений из репозитория

Если Вы работаете над сайтом на разных компьютерах, или над сайтом работает команда, то Вам потребуется перед работой с локальной копией репозитория получать его обновления. Для этого достаточно вызывать в каталоге локальной копии команду:

git pull

Пока всё!

Что ещё почитать

Ссылки

(c) Симоненко Евгений, 2013