Денис Злобин

Урок 4. Основы работы с Git

Привет! После прохождения Урока 3 у тебя должен был получиться вот такой код:

#include <iostream>

int main()
{
	int a;
	a = 1;
	int b;
	b = 2;

	int c;
	c = a + b;	
	std::cout << a << " + " << b << " = " << c << '\n';
	
	int d;
	d = a - b;	
	std::cout << a << " - " << b << " = " << d << '\n';
	
	int e;
	e = a * b;	
	std::cout << a << " * " << b << " = " << e << '\n';
}

Как только появляется хоть какой-то рабочий код, его нужно обязательно добавить под версионный контроль. Для версионного контроля в рамках этого курса мы будем использовать Git — одно из самых распространённых средств версионного контроля в настоящее время. В этом уроке ты научишься основным принципам работы с Git. Мы будем работать с Git так, как ты будешь работать с Git на реальном рабочем месте.

Зачем нужен версионный контроль. Кратко Версионный контроль предназначен для:

  • хранения истории изменений кода твоего проекта. История изменений хранится в виде коммитов — состояний твоего проекта, зафиксированных в выбранный тобою момент времени. Ты можешь отследить, кто и когда внёс изменение в проект, а также восстановить состояние проекта в любой зафиксированный момент времени
  • упрощения работы над проектом командой разработчиков. Каждый разработчик ведёт работу над кодом в своей ветке, которая затем вливается (мержится) в основную ветвь проекта

Если ты столкнулся с незнакомыми терминами, не волнуйся, к концу этого урока мы разберёмся со всеми ими.

Создание репозитория Репозиторий — это хранилище исходных файлов твоего проекта. Пока в репозитории ты будешь хранить файл main.cpp. Но с ростом нашего проекта количество файлов будет увеличиваться. В большинстве случаев на реальном рабочем месте ты будешь иметь дело с репозиторием, который уже был создан до тебя. И лишь в редких случаях будешь создавать репозиторий самостоятельно.

Репозиторий создаётся в месте, доступном для всех разработчиков из команды — хостинг репозиториев (или, другими словами, облачную платформу для размещения репозиториев). Примеры хостингов: GitLab, BitBucket, GitFlic и другие. На курсе мы будем использовать бесплатный хостинг GitHub. Обрати внимание, GitHub — это, по сути, веб-сервис, который предлагает услуги по бесплатному размещению репозитория для твоего проекта. GitHub под капотом использует Git для работы с репозиториями.

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

Краткий конспект команд из видеоурока

Генерация ssh-ключа:

ssh-keygen

Задать глобальные настройки git:

git config --global user.name "Denis Zlobin"
git config --global user.email zlobin.d.al@gmail.com
git config --global core.editor "vim"

Посмотреть глобальные настройки Git:

git config --global --list

Склонировать репозиторий:

git clone <адрес репозитория>

Запросить список всех ветвей в репозитории:

git branch -a

Создать новую ветвь:

git branch имя_ветви

Переключиться на ветвь:

git checkout имя_ветви

Проверить текущее состояние репозитория:

git status

Проверить журнал коммитов:

git log

Посмотреть внесённые изменения:

git diff

Проиндексировать файл для добавления в следующий коммит:

git add имя_файла

Создать коммит:

git commit -m "Сообщение"

Отправить локальные изменения в удалённый репозиторий:

git push -u origin имя_ветви  # при первом push новой ветки
git push  # для последующих push

Команд, которые я показал тебе в этом уроке, будет достаточно для начала работы с Git. Но если ты хочешь глубже разобраться в Git, я рекомендую тебе самостоятельно изучить книгу Анны Скулинари «Изучаем Git».

На этом на сегодня всё. До встречи на следующем уроке!