Всем привет! Сегодня мы познакомимся поближе с таким инструментом совместной разработки приложений, как git. Я рассказывал уже нечто подобное о системе SVN контроля версий, но для многих git является наиболее удобным способом проводить кооперативный кодинг. Рассмотрим это дело подробнее.
Прежде всего, зарегистрируемся на каком-нибудь сервере, предоставляющем доступ к git. Наиболее популярным является github.com, поэтому мы заведём аккаунт там.
После того, как регистрация будет завершена, мы можем создать наш первый репозиторий (хранилище).
Есть возможность создавать только публичные (доступные всем пользователям) репозитории. Для создания приватных – придётся доплатить. Но мы приверженцы Open Source, поэтому будем создавать публичные.
Далее, для работы с репозиторием, нужно будет раздобыть клиент. Там же, в GitHub есть свой клиент, но я рассмотрю сейчас работу с SmartGit – бесплатным для некоммерческого использования. Закачать и установить его под силу любому пользователю, поэтому сразу приступим к настройке.
Необходимо будет провести первичную инициализацию, где нужно указать наш логин и API-ключ, который можно получить введя пароль. Ничего сложного нет, процесс достаточно очевиден и описан подсказками.
Перед нами главное окно программы:
Слишком много непонятного. Рассмотрим по ходу дела. Итак, добавим наш ранее заготовленный репозиторий в программу. Для этого в главном меню программы выбираем 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)
Теперь проект обновился и на github.com!
Вот примерно таким образом и ведётся разработка. Внесём некоторые изменения в файл index.php: тут же в программе отобразится разница между файлами и статус файла сменится на Modyfied (изменён). Ниже можно увидеть разницу, красная строка – изменения/удаление, зелёная – добавление. Таким образом будет сохраняться история развития проекта и, если мы освоим ведение различных веток, возможен будет откат на предыдущую/параллельную версию. Но мы к этому вернёмся.
А теперь представим, что наш коллега хочет приобщиться к прекрасному (нашему проекту).
Он входит в этот же аккаунт, выбирает добавление репозитория, клонирование, выбирает сам репозиторий и нажимает кнопку Clone, получая тем самым локальную копию удалённого проекта. Вносит в неё произвольные изменения и Push-ит её в глобальный каталог. Вот как-то так и ведётся разработка!
Comments: