# Что такое Git и зачем он нужен? Git - это консольная утилита, для отслеживания и ведения истории изменения файлов, в вашем проекте. Чаще всего его используют для кода, но можно и для других файлов. Например, для картинок - полезно для дизайнеров. С помощью Git-a вы можете откатить свой проект до более старой версии, сравнивать, анализировать или сливать свои изменения в репозиторий. Репозиторием называют хранилище вашего кода и историю его изменений. Git работает локально и все ваши репозитории хранятся в определенных папках на жестком диске. Так же ваши репозитории можно хранить и в интернете. Обычно для этого используют три сервиса: - GitHub - Bitbucket - GitLab Каждая точка сохранения вашего проекта носит название коммит (commit). У каждого commit-a есть hash (уникальный id) и комментарий. Из таких commit-ов собирается ветка. Ветка - это история изменений. У каждой ветки есть свое название. Репозиторий может содержать в себе несколько веток, которые создаются из других веток или вливаются в них. # Как работает Если посмотреть на картинку, то становиться чуть проще с пониманием. Каждый кружок, это commit. Стрелочки показывают направление, из какого commit сделан следующий. Например C3 сделан из С2 и т. д. Все эти commit находятся в ветке под названием main. Это основная ветка, чаще всего ее называют master . Прямоугольник main* показывает в каком commit мы сейчас находимся, проще говоря указатель. ![1](1.PNG) В итоге получается очень простой граф, состоящий из одной ветки (main) и четырех commit. Все это может превратиться в более сложный граф, состоящий из нескольких веток, которые сливаются в одну. ![2](2.PNG) Об этом мы поговорим в следующих статьях. Для начала разберем работу с одной веткой. # Установка Как обычно, нужно скачать exe файл и запустить его. Здесь все просто: жмем на [первую ссылку гугла](https://git-scm.com/downloads), устанавливаем и всё. Для работы будем использовать bash консоль, которую они предоставляют. Чтобы работать в виндоусе, нужно запустить Git Bash. Вот как он выглядит в меню пуск: ![3](3.PNG) И это уже консоль, в которой можно работать. Чтобы не переходить каждый раз в папку с проектом, чтобы там открыть гит, можно в папке правой кнопкой мыши открыть консоль с нужным нам путем: ![4](4.PNG) # Настройка гита У гита есть настройка пользователя, от которого будет идти работа. Это разумная и необходимая вещь, так как когда создается коммит, гит берет именно эту информацию для поля Author. Чтобы настроить имя пользователя и пароль для всех проектов, нужно прописать следующие команды: git config --global user.name ”Ivan Ivanov” git config --global user.email ivan.ivanov@mail.ru # Работа с гитом в локальном репозитории с помощью GIT BASH Чтобы создать локальный репозиторий, нужно написать: git init ![5](5.PNG) После этого будет создана папка .git в том месте, где находится консоль. .git — это папка, которая хранит всю информацию о гит репозитории. Ее удалять не нужно ;) Далее, добавляются файлы в этот проект, и их состояние становится Untracked. Чтобы посмотреть, какой статус работы на данный момент, пишем: git status ![6](6.PNG) Мы находимся в master ветке, и пока мы не перейдем в другую, так все и останется. # Работа с гитом в локальном репозитории с помощью GIT GUI Шаг 1: Создайте удаленный репозиторий Теперь нам нужен репозиторий Git, и мы создадим новый удаленный репозиторий на Github. Нажимаем на Create New Repository. ![7](7.jpg) Переходим на наш сайт где будет репозиторий, git hub или же gogs. В нашем случае это gogs. Переходим на гогс и нажимаем на **+** и "Новый репозиторий" ![8](8.PNG) Далее даем имя нашему репозиторию, пишем описание и нажимаем создать репозиторий. P.S. по желанию можем сделать репозиторий видимым(для этого снимаем галочку с "Все новые репозитории являются Личными по желанию Администратора" ![9](9.PNG) После чего создаем папку на нашем компьютере с таким же названием как и наш репозиторий. Жмем ПКМ по папке и нажимаем на Git GUI here. ![10](10.PNG) Далее жмем Create New Repositoriy ![11](11.PNG) После чего указываем путь к нашему репозиторию (папке) и жмем Create. ![12](12.PNG) Далее жмем Edit → Options ![13](13.PNG) Вводим нашу почту и никнейм на gogs, меняем Default File Contents Encoding на utf-8 и жмем Save. ![14](14.PNG) После всех этих действий мы можем заливать наш проект на Gogs. Нажимаем на Rescan → Stage Changed → Пишем коммит в Initial Commit Message → нажимаем Commit → push и ждем.