Skip to main content

Система управления версиями Git. С чего начать

4 votes

В продолжение и поддержку темы «Проект на вечер».

Сегодня кратко затронем тему контроля версий нашего (любого вашего) проекта. Начнём, как водится, с определения википедии:

Git (произн. «гит») — распределённая система управления версиями файлов. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года... (Wikipedia)

В сети есть огромное множество материалов по работе, настройке и разрешению всяких сложных ситуаций связанных с git'ом — не будем повторяться. Я выделю набор самых первых и основных шагов необходимых для быстрого погружения в тему. Для всего остального есть mastercard поисковики.

В бой!

Зачем всё это нужно?

Git (как и многие другие подобные системы) предназначен для облегчения жизни разработчиков (и далеко не только их): сохранение состояний проекта, возможность отката на определённый исторический «срез», отмена неудачных изменений, возможность параллельной разработки нескольких задач на одном проекте, совместная разработка несколькими людьми без конфликтов... продолжать можно до бесконечности.

Некоторое подобие «машины времени» для ваших файликов. Но «путешествовать» можно только в прошлое, к сожалению Smile

В системе можно разместить любые файлы (графику, тексты, бинарники...). Git может быть полезен и дизайнерам, и редакторам... — в любом проекте, где результатом работы является некий представленный в файловой системе контент.

Если ещё к тому же хранить свой репозиторий в облаке, то даже физическое уничтожение вашего компьютера спасёт от гибели разрабатываемый сайт, курсовую, дипломный проект... А это уже весомо, согласитесь.

К делу

Во многих дистрибутивах Linux git идёт из коробки. В Windows не идёт. Поэтому начать стоит с установки:

1. Официальная страница downloads

Легче (пусть и не сразу) и удобней работать с гитом из консоли:

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

2. Далее полезные ссылки (установка, создание репозитория и всякие разные ситуации на примерах):

Git How To
Git Wizardry — хабра-статья, которая выручала не один раз Smile

3. Классный интерактивный набор уроков по основным командам (всё в окне браузера) от GitHub'а (на английском):

Trygit

4. Облачные сервисы для ваших репозиториев: GitHub и BitBucket.

И там и там бесплатно, но с ограничениями. Например, гитхаб не позволяет создавать приватные репозитории на бесплатных аккаунтах (все ваши файлы будут доступны общественности). Битбакет в свою очередь этого «недостатка» лишён. Используйте его.

Оба сервиса имеют удобные интерфейсы просмотра коды, веток; есть возможность завести вики проекта, багтрак и пр. комфорт.

Всё это очень кстати особенно если вы работаете над проектов командно. Именно так вы будете обмениваться изменениями друг с другом, обсуждать, фиксить баги...

5. И наконец репозиторий-полигон для экспериментов: jjProject. Там есть маленькое элементарное задание, которое поможет в освоении (с доступом на push могут быть нюансы. Если будут сложности — пишите! Разберёмся). Welcome everybody!

Если после детальной проработки пунктов 1—5 останутся вопросы — я к вашим услугам.

Сейчас без знания Git'а (или аналогичных систем) просто никуда. Если вы планируете связать свою жизнь с IT, то начинайте практиковаться уже сейчас. На собеседованиях это будет весомым плюсом в вашу пользу.

Аватар пользователя Пименов Алексей

Дальше рекомендую изучить две альтернативных системы ветвления при работе c git в промышленной разработке:
1. Feature Branches (стандартный gitflow на него рассчитан)
2. Feature Toggles