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