В этом посте я хочу показать читателю, как с минимальными усилиями начать пользоваться GIT. Большинство статей, которые я встречал бродя бескрайними просторами «большого и могучего» предлагают выучить команды GIT, открыть консольное окно и начать работать. Подход заслуживает уважения, но… Но мне кажется, как для начала это не совсем правильный подход. Это все-равно, что не умея водить машину, Вы подойдете к инструктору по вождению с просьбой научить Вас, ну а он предложит Вам разобраться в принципе работы инжекторного двигателя со всеми блоками електронного управления и прочего «барахла». В нашем же случае, мы поплывем по течению тем самым уменьшив порог вхождения в использования GIT. Итак, приступим!

Зачем мне это? Для начала, стоит рассказывать о множестве преимуществ системы контроля версий GIT, например, по сравнению с SVN (пользователем которой являюсь довольно таки продолжительное количество времени). Не могу сказать, что SVN плохая. Она по своему замечательная и удобная, но наступает момент, когда её возможностей становится недостаточно или же возникает ощущение, что в SVN нет того что имеет какая-либо другая система контроля версий (как GIT). Чего то такого, чего раньше и впринципе не нужно то было, но вдруг понадобилось. Например, как-то на работе у нас отказали сервера, на которых был запущен сервер SVN. По этой причине работа над проектом приостановилась. Просмотреть логи коммитов и вести анализ дествий проделанных над проектом стало невозможно. Стало очень печально и с таким отвратительным чувством несовершенства и досады пришлось несколько часов провести на кухне за чашкой чая. Но к чему это я? Так вот, мы же хотим узнать преимущества. Одно из преимуществ это то что работу над проектом можно продолжать даже без централизированного сервера, т.е. даже если сервер отказал, имеется возможность делать локальные коммиты сохраняя их у себя на компьютере. Когда же серверы возобновлят работу, появиться возможность закоммитить свои локальные коммиты на сервер («запушиться»). Сушествуют и другие, более изощрённые возможности, но их настолько много, что несколько предложений написанных после текущего, Вам дорогой читатель, так и не придется прочитать, так как я их просто удалил. Кому интересно, основное отличие SVN от GIT в том, что первая хранит на локальном компьютере информацию только о последнем коммите, в то время, как вторая хранит на локальном компьютере пользователя историю всех коммитов. Разумеется локальная директория проекта для GIT по занимаемому размеру будет больше нежели директория того же проекта в SVN. Зато работа с логами коммитов в GIT будет происходить быстрее чем в SVN, так как мы работаем с локальной базой данных и не обращаемся к серверу как в случае работы с SVN.

Установка GIT. Скачать сам GIT можно с сайта http://git-scm.com/downloads. Скачиваем нужную нам версию и запускаем установщик. На этапе установки «Adjusting your PATH environment» я выбираю «Run Git from the Windows Command Prompt» так как желаю использовать GIT прямо из консольной строки (в случае необходимости). Во всем остальном достаточно инстинктивного нажатия кнопки Next.

Установка TortoiseGIT. Скачать TortoiseGit возможно по следующему адресу http://code.google.com/p/tortoisegit/wiki/Download. После этого запускаем загруженный установочный файл. Процес установки тривиален.

Создание минимального проекта. Создадим директорию «TestProject» с файлом «main.cpp» внутри. Предположим, в дальнейшем, мы планируем изменять данный файл и хотели бы иметь возможность откатывать версию файла к придыдущей. Удобно в данном случае создать локальный репозиторый на базе нашей директории. Для этого, на директории щёлкаем правой кнопкой мыши и выбираем «Git create repository here…».

Git_Create_repository_here

Всплывёт окно.

Git_Init

Нажмаем ОК. В результате, внутри нашей директории появилась директория с названием «.git». Это и есть наш локальный репозиторий, в котором будут хранится все наши локальные коммиты. Так как наша цель — добавить на репозиторий файл «main.cpp», для этого опять же в нашей директории открываем контекстное меню и выбираем «Git commit -> «master»».

Git_Commit_master

Если Вы вызовете данное меню, то получите сообщение.

Git_Name_Email

Оно информирует нас о том, что для того чтобы закомитить изменения нам необходимо указать и сохранить некоторые данные о себе. Выбираем кнопку «Yes».

Git_Config_Name_Email

После заполения данной формы откроется следующее окно.

Git_Add_File_Commit

Заполняем необходимые поля и кликаем кнопку «ОК».

Git_Command_Progress

Поздраваляю Вас! Это Ваш первый коммит в GIT! Просмотреть коммиты можно из контекстного меню.

Git_Show_Log

А вот и само окно управления историей коммитов (с нашим первым и единственным вкладом).

Git_Log_Messages

Поработав чуть-чуть с TortoiseGit станет намного проще разобраться с консолью управления GIT (во всяком случае так было у меня). В случае, если мощности графической оболочки TortoiseGit станет мало могу посоветовать дорогому читеталю ту книгу, которую в своё время посоветовали мне. Её название «Pro Git». Скачать её можно по СЛЕДУЮЩЕЙ ССЫЛКЕ. Книга достойна уважения так как написана довольно таки понятным языком. Удачи!