Гит на страже кода

Разработчику стоит следить и ухаживать за кодом. Системы контроля версий дают такую возможность.

git — распределённая система управления версиями. Непонятно о чем речь и зачем эта система нужна начинающим разработчикам. Разберем её по частям, чтобы понять ценность такой системы в каждодневной работе.

Терминал

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

Гит и гитхаб

Это разные вещи! Гит — система, а гитхаб — сервис, объединяющий репозиторий. Соцсеть где вместо фоточек хвастаются кодом.

Гитхаб

Социальная сеть для разработчиков. Удаленный репозиторий — это как раз про репозиторий в гитхабе. Кодим локально и показываем своё творение всему миру!

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

О нюансах, командах и ограничениях гитхаб подскажет сам.

GitHub

Установка

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

Скачать для Windows
Установить на macOS
Установить на Ubuntu

Первичная настройка

Нужно внести данные о себе после установки пакета. Делается это простыми командами.

git config --global user.name "Arthur Bordenyuk"
git config --global user.email "me@apmyp.pro"

Репозиторий

Гит репозиторий — это директория на стероидах. Команда инициализации в пустой директории создает репозиторий.

git init

Гит следит за изменениями и хранит их. Разработчик вносит изменения в код и фиксирует их в репозитории — комиттит.

Коммит

В конце задачи разработчик фиксирует изменения. Процесс фиксации состоит из двух шагов:

  1. Пометить в каких файлах изменения нужно зафиксировать;
  2. Указать комментарий.
git add .
git commit -am "Мой супер коммит"
Коммитим изменения из терминала

Сформированный коммит имеет данные об авторе изменений, дате, ветке и список самих изменений.

Визуализация коммита на примере гитхаба
Визуализация коммита на примере гитхаба

Ветви

Даже работая в одиночку нельзя игнорировать ветки. В репозитории всегда есть одна ветка — master. По-умолчанию, все коммиты попадают в неё. Создать другую ветку и сразу в неё перейти можно командой:

git checkout -b branch_name
Создает и переходит в ветку с названием feature/adaptive

Ветки можно использовать по-разному. Есть методологии, которые объясняют как надо. Одна из таких — git flow. В простом варианте для каждой задачи разработчик создает отдельную ветку и в ней работает. По окончанию работы его ветка сливается с основной, но сначал её нужно отправить в удаленный репозиторий.

Push

git push

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

Pull

git pull

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

Pull Request

Созданную ветку разработчик хочет слить с основной. Ветка уже запушена. Пора создавать пул реквест. На этом моменте и происходит процесс ревью кода. Коллеги смотрят на код, задают вопросы или просят изменения. Когда все готово — запрос (реквест) принимается и код соединяется с основной кодовой базой, с основной веткой.

Страница реквеста на гитхабе

Ссылки

Поделиться
Отправить
Запинить