# Введение в Git для новичков

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

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

Когда мы хотим что-то сохранить в папку резервного копирования, то в терминах Git это называется сделать коммит. В коммите мы указываем комментарий к нашей сохранке, чтобы потом легко можно было отследить, что мы делали и, при необходимости, откатить назад.

Для ситуации, когда мы хотим поработать над определенной фичей проекта в отдельной копии проекта, придуманы ветки. Git позволяет переключаться между ветками разработки, при этом Git будет изменять файлы прямо в папке с проектом. То есть, когда мы переключаемся с ветки на ветку, Git прямо в папке с проектом будет убирать одни файлы и показывать другие.

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

Git позволяет сделать так, чтобы основной репозиторий проекта хранился в интернете. Для этого существуют специальные сервисы, например, GitHub. Это значит, что все разработчики проекта будут отправлять свои изменения в одно место. И это место, благодаря размещению в интернете, будет доступно всегда. Другие разработчики тоже легко смогут получить изменения, обратившись к этому репозиторию.

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

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

← →
↑