Материал просмотрен 387 раз(а)

Всем привет! Сегодня мы познакомимся поближе с таким инструментом совместной разработки приложений, как git. Я рассказывал уже нечто подобное о системе SVN контроля версий, но для многих git является наиболее удобным способом проводить кооперативный кодинг. Рассмотрим это дело подробнее.

Прежде всего, зарегистрируемся на каком-нибудь сервере, предоставляющем доступ к git. Наиболее популярным является github.com, поэтому мы заведём аккаунт там.

Регистрация в GIT

Регистрация в GIT

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

Создаём репозиторий

Создаём репозиторий

Есть возможность создавать только публичные (доступные всем пользователям) репозитории. Для создания приватных – придётся доплатить. Но мы приверженцы Open Source, поэтому будем создавать публичные.

Далее, для работы с репозиторием, нужно будет раздобыть клиент. Там же, в GitHub есть свой клиент, но я рассмотрю сейчас работу с SmartGit – бесплатным для некоммерческого использования. Закачать и установить его под силу любому пользователю, поэтому сразу приступим к настройке.

Необходимо будет провести первичную инициализацию, где нужно указать наш логин и API-ключ, который можно получить введя пароль. Ничего сложного нет, процесс достаточно очевиден и описан подсказками.

Перед нами главное окно программы:

Главное окно Smartgit

Главное окно Smartgit

Слишком много непонятного. Рассмотрим по ходу дела. Итак, добавим наш ранее заготовленный репозиторий в программу. Для этого в главном меню программы выбираем Repository -> Add or Create:

Добавляем репозиторий

Добавляем репозиторий

Указываем локальный каталог для хранения файлов репозитория:

Указываем каталог хранения

Указываем каталог хранения

Теперь укажем, с каким удалённым репозиторием будем синхронизироваться. Для этого перейдём в меню на пункт Remote -> Add

Добавляем удалённый репозиторий

Добавляем удалённый репозиторий

В появившемся окне нажимаем кнопку хостинг-провайдера и выбираем github.com:

К слову, бывают и другие:

  • Assembla
  • Beanstalk
  • Bitbucket
  • Codebase
  • Unfuddle
Хостинг-провайдер

Хостинг-провайдер

Мы получим все удалённые репозитории, зарегистрированные на нашем аккаунте.

Наши репозитории

Наши репозитории

Вообще, всю эту возню можно было заменить командой Clone – это создание локальной копии уже готового удалённого репозитория. Но мы пошли длинным путём.

Теперь создадим в нашем каталоге произвольный файл, пусть это будет index.php следующего содержания:

Создадим файл для синхронизации

Создадим файл для синхронизации

Перейдя в программу Smartgit мы увидим, что в окне файлов появился index.php, а справа внизу – его содержимое. Файл имеет статус Untracked (отсутствует в репозитории).

Появился наш первый файл

Появился наш первый файл

Для того, чтобы записать изменения в локальную базу данных, нужно нажать на кнопку Commit. Перед нами откроется диалоговое окно, в котором мы отмечаем все обновляемые файлы и даём пояснение коммиту. Именно это пояснение в большинстве своём может спасти проект, принято описывать что и зачем меняли.

Делаем первый коммит

Делаем первый коммит

Теперь у нас начинает вестись своеобразная история изменений проекта, но пока что она только локальная. Для того, чтобы закачать все изменения проекта на сервер github.com (в удалённый репозиторий), нужно нажать кнопку Push. Там мы указываем какую “ветку” проекта будем закачивать. К веткам мы вернёмся позже, а пока оставим основную (master)

Push основной ветки

Push основной ветки

Теперь проект обновился и на github.com!

Проект на github.com

Проект на github.com

Вот примерно таким образом и ведётся разработка. Внесём некоторые изменения в файл index.php: тут же в программе отобразится разница между файлами и статус файла сменится на Modyfied (изменён). Ниже можно увидеть разницу, красная строка – изменения/удаление, зелёная – добавление. Таким образом будет сохраняться история развития проекта и, если мы освоим ведение различных веток, возможен будет откат на предыдущую/параллельную версию. Но мы к этому вернёмся.

Изменяем файл проекта

Изменяем файл проекта

А теперь представим, что наш коллега хочет приобщиться к прекрасному (нашему проекту).

Он входит в этот же аккаунт, выбирает добавление репозитория, клонирование, выбирает сам репозиторий и нажимает кнопку Clone, получая тем самым локальную копию удалённого проекта. Вносит в неё произвольные изменения и Push-ит её в глобальный каталог. Вот как-то так и ведётся разработка!