Один из инструментов, который должен быть в "арсенале" любого веб-разработчика - это программа Git.

Что же такое Git?

Первое, что нужно понимать, Git - это просто программа, которая устанавливается на ваш компьютер.

Официальный сайт, где вы можете скачать эту программу и установить ее на свой компьютер:

https://git-scm.com/download

Есть версии для разных операционных систем, выбирайте ваш вариант и устанавливайте git к себе на компьютер.

Здесь нужно понимать такой момент. Git - это консольная программа. У этой программы нет какой-то графической оболочки, где можно поводить курсором мыши, покликать куда-то и.т.д. Для работы с этой программой вам нужно открыть консоль (терминал) вашей операционной системы. Это окно, в которую мы можем вводить команды.

Для чего же нужен Git?

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

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

Теперь мы добавляем в этот текстовый документ какое-то изображение или текст. Это будет уже следующее состояние этой папки. Git это тоже зафиксировал. 

Каждый раз, когда я что-то буду менять в этой папке, git все это может фиксировать и помечать соответствующими метками, каким-то уникальным кодом. 

Смысл в том, что мы теперь можем откатиться к каким-то изменениям, если в какой-то момент времени было сделано что-то не то. Мы можем вернуться к этим файлам или изменениям, которые были в определенный момент времени. Это основное назначение программы Git.

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

Как правило, этой программой пользуются программисты, т.к. работать с консолью операционной системы более привычно именно им.

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

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

Если вы создали какой-то текстовый файл, а потом внесли в него изменение, в Git будет сохранен не весь текстовый файл, а только тот кусок текста, в который вы вносили изменение. 

Ветки - это следующая возможность Git. Мы можем сохранять не только текущее состояние положения дел в нашем проекте, но мы можем создать отдельную ветку, отдельное направление проекта. Так мы можем протестировать эту ветку.

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

После того, как все изменения проверены и все работает, мы можем слить эти изменения с основной версией сайта и все будет работать.

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

Следующая возможность Git - это возможность работы с удаленными серверами или репозиториями. Репозиторий - это некое хранилище, в котором храняться наши файлы. 

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

Что же это нам дает?

Главное преимущество в том, что теперь мы не привязаны к какому-то рабочему месту и мы можем работать с этим удаленным компьютером с любого компьютера, который подключен к Интернет. 

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

Также это дает возможность работы над проектом в команде из нескольких людей. Каждый делает что-то свое, за что он ответственен. 

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