Основные понятия
Git — это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий.
Репозиторий — называют хранилище вашего кода и историю его изменений. Git работает как локально и все ваши репозитории хранятся на жестком диске, так и в облачном хранилище. Обычно для облачного хранения используют три основных сервиса:
Commit — точка сохранения вашего проекта. У каждого commit-a есть hash (уникальный id) и комментарий. Из таких commit-ов собирается ветка.
Ветка — это история изменений. У каждой ветки есть свое название. Репозиторий может содержать в себе несколько веток, которые создаются из других веток или вливаются в них. Основную ветку чаще всего называют «master».
Ключ к пониманию
Ключ к пониманию концепции git — знание о «трех деревьях»:
- Рабочая директория — файловая система проекта (те файлы, с которыми вы работаете).
- Индекс — список отслеживаемых git-ом файлов и директорий, промежуточное хранилище изменений (редактирование, удаление отслеживаемых файлов).
- Директория
.git/— все данные контроля версий этого проекта (вся история разработки: коммиты, ветки, теги и пр.).
Коммит неизменен, его нельзя отредактировать. У всех коммитов (кроме самого первого) есть один или более родительских коммитов, поскольку коммиты хранят изменения от предыдущих состояний.
Указатели
HEAD— указатель на текущий коммит или на текущую ветку (то есть, в любом случае, на коммит). Указывает на родителя коммита, который будет создан следующим.ORIG_HEAD— указатель на коммит, с которого вы только что переместилиHEAD(командойgit reset ..., например).- Ветка (
master,developetc.) — указатель на коммит. При добавлении коммита, указатель ветки перемещается с родительского коммита на новый. - Теги — простые указатели на коммиты. Не перемещаются.
Установка и настройка
- Windows. Проходим по этой ссылке, выбираем под вашу ОС (32 или 64 битную), скачиваем и устанавливаем.
- Linux. Открываем терминал и вводим следующую команду.
# Debian или Ubuntu
sudo apt install git
# CentOS
sudo yum install git
Открываем терминал (Linux и MacOS) или консоль (Windows) и вводим следующие команды.
#Установим имя для вашего пользователя
#Вместо <ваше_имя> можно ввести, например, Grisha_Popov
#Кавычки оставляем
git config --global user.name "<ваше_имя>"
#Теперь установим email. Принцип тот же.
git config --global user.email "<адрес_почты@email.com>"
Создание репозитория
Создадим репозиторий:
#Для Linux и MacOS путь может выглядеть так /Users/UserName/Desktop/MyProject
#Для Windows например С://MyProject
cd <путь_к_вашему_проекту>
#Инициализация/создание репозитория
git init
Теперь Git отслеживает изменения файлов вашего проекта. Но, так как вы только создали репозиторий в нем нет вашего кода. Для этого необходимо создать commit.
#Добавим все файлы проекта в нам будующий commit
git add .
#Или так
git add --all
#Если хотим добавить конкретный файл то можно так
git add <имя_файла>
#Теперь создаем commit. Обязательно указываем комментарий.
#И не забываем про кавычки
git commit -m "<комментарий>"
Визуальный интерфейс
Существуют и отдельные программы по работе с Git, например:

