🔹 1. Создание и настройка локального репозитория
Освоить базовые навыки работы с гитом. Создать собственный репозиторий на GitHub
здесь будет рассказано как:
Данные указания по умолчанию относятся к операционным системам семейства Linux, а не Windows консоли. Для MacOS рядом будут даны отдельные инструкции.
В консоли Linux убедитесь, что у вас стоит git. Для этого введите следующую команду:
git --version
При необходимости поставьте git через команду:
sudo apt install git
На macOS Git обычно уже предустановлен
Установка Git для Windows:
Скачайте и установите Git для Windows: https://git-scm.com/download/win
Во время установки выберите Git Bash (это терминал с командами Linux-подобного Git).
ssh-соединение позволяет работать с GitHub через приватный ключ, хранящийся на вашем устройстве. ssh-соединение категорически НЕ СЛЕДУЕТ настраивать на устройствах, предполагающих общий доступ (компьютеры в лабораторных аудиториях и т.п.).
Сгенерируйте ssh-ключ следующей командой, где your_email@example.com
следует заменить вашей почтой, на которую зарегистрирован аккаунт в GitHub.
ssh-keygen -t ed25519 -C "your_email@example.com"
Подтвердите расположение файла по умолчанию (нажав клавишу enter, дополнительно писать ничего не надо). Введите passphrase (можно оставить пустым, рекомендуется) и нажмите Enter. Подтвердите введенную passphrase.
Убедитесь, что в выводе присутствует ваш fingerprint и key’s randomart image.
ssh-agent — это программа, которая:
- хранит в памяти приватные ключи,
- чтобы вам не нужно было каждый раз вводить пароль (passphrase) при использовании ключа (например, при git push или подключении по SSH).
Запустите приложение ssh-agent в фоне. Для этого введите следующую команду:
eval "$(ssh-agent -s)"
Убедитесь, что в консоли вывелось следующее:
Agent pid ******
Где ** - некоторое число.
Добавьте ваш приватный ключ в ssh-agent (только для Linux):
ssh-add ~/.ssh/id_ed25519
Только для MacOS:
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
Выведите в консоль публичный ключ (только для Linux):
cat ~/.ssh/id_ed25519.pub
Скопируйте вывод из консоли.
Либо (только для MacOS) скопируйте в буфер обмена публичный ключ:
pbcopy < ~/.ssh/id_ed25519.pub
Регистрация на GitHub
- Открой https://github.com
- В правом верхнем углу нажми Sign up.
- Введи: 🔹 Email (лучше учебный или рабочий, а не временный). 🔹 Пароль (надёжный). 🔹 Username (будет виден всем — например, ivan-petrov).
- Согласись с условиями.
Затем в правом верхнем углу нажмите по иконке своего профиля, откройте настройки (Settings).
Слева в разделе “Access” выберите вкладку “SSH and GPG keys”.
Справа сверху нажмите на кнопку “New SSH key”. В поле “Title” введите название, которое будет описывать назначение данного ключа. В поле “Key” вставьте публичный ключ (который скопировали ранее). Подтвердите добавление нажав на кнопку “Add SSH key”.
Проверьте, что вы успешно настроили ssh-соединение. Для этого введите в консоли следующую команду:
ssh -T git@github.com
Подтвердите, что вы хотите установить соединение, написав “yes” (без кавычек) и нажав enter.
Убедитесь, что вывод соответствует следующему (где “username” - это ваш логин на github.com):
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
Зайдите на github.com и создайте новый пустой приватный репозиторий.
Для этого нажмите на кнопку “New” в левой части главной страницы.
Назовите его так, как считаете нужным, но желательно достаточно информативно. Например, Lastname-SP-Labs-2025, где вместо “Lastname” должна быть ваша фамилия на латинице.
Убедитесь, что вы создаете приватный, а не публичный репозиторий (должен стоять флажок напротив “Private”).
Оставьте все остальные настройки без изменений.
Создайте репозиторий, нажав на кнопку “Create repository”.
На странице вашего репозитория на github.com скопируйте ssh-ссылку на него (имеет формат вида git@github.com:Username/Repo.git
).
SSH-ссылка репозитория на GitHub -> справа вверху над списком файлов есть зелёная кнопка <> Code. Нажми её.
Открыв консоль Linux, перейдите в ту директорию, в которую вы хотите склонировать репозиторий. Склонируйте репозиторий с помощью команды:
git clone repo-url
Где repo-url - ssh-ссылка на ваш репозиторий. После этого в текущий директории должна появиться новая директория с вашим репозиторием. Перейдите в нее с помощью команды cd.
Откройте свой удаленный репозиторий на github.com и убедитесь, что в нем отображаeтся ветка с названиями “main”
В консоле Linux проверить текущую ветку
git branch
В новых версиях Git по умолчанию создается ветка main. Если по умолчанию создается master, то переименуй:
git branch -M main
Проверьте, что всё OK
git status
Должно показать, что рабочая директория чистая (ничего нет, кроме README.md, если он создавался).
Создайте ветку для первой лабораторной
git checkout -b lab_1
checkout -b => создать новую ветку и сразу в неё переключиться.
Теперь вы работаете в ветке lab_1.
Убедитесь, что вы находитесь в директории с вашим репозиторием на ветке “lab_1”. Для этого введите следующую команду:
git status
Убедитесь, что вывод соответствует следующему:
On branch lab_1
Your branch is up to date with 'origin/lab_1'.
nothing to commit, working tree clean
Добавление файла с исходным кодом в репозиторий
Создай файл(ы) (например, index.html и style.css).
Пуш файлов в удаленный репозиторий на GitHub
Находясь на ветке “lab_1” своего репозитория, убедитесь, что git “видит” только новые файлы с исходным кодом.
Для этого введите в консоли следующее:
git status
В untracked files должен быть показан только один файл: main.cpp (или файл с другим названием, который вы создали в предыдущем пункте):
On branch lab_1
Your branch is up to date with 'origin/lab_1'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
index.html
style.css
nothing added to commit but untracked files present (use "git add" to track)
Если git видит другие файлы, то удалите их из директории.
Добавьте один файл в индекс для коммита:
git add index.html
Убедитесь, что файл проиндексирован для коммита:
git status
После данной команды вывод должен быть следующим:
On branch lab_1
Your branch is up to date with 'origin/lab_1'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: index.html
Добавьте ещё один файл в индекс для коммита:
git add style.css
Убедитесь, что файл проиндексирован для коммита:
git status
После данной команды вывод должен быть следующим:
On branch lab_1
Your branch is up to date with 'origin/lab_1'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: index.html
new file: style.css
или
Добавьте ваши файлы в индекс для коммита:
git add --all
добавляет все новые и измененные файлы, включая случайно ненужные.
Закоммитьте изменения:
git commit -m "commit message"
Где вместо commit message
введите на английском языке осмысленное сообщение к коммиту. Например, “add index.html and style.css”.
Запушьте созданный коммит в удаленный репозиторий (ветки локального и удаленного репозитория уже связаны между собой):
git push
Откройте на github.com свой удаленный репозиторий и перейдите в ветку lab_1. Убедитесь, что в вашем репозитории на GitHub появились нужные файлы.
Ветка lab_2: git checkout main # возвращаетесь на main git pull # подтянуть актуальное, при необходимости git checkout -b lab_2 # создать ветку для lab_2 … работаете … git add . git commit -m “Лабораторная работа 2” git push -u origin lab_2
🔹 6. Общая схема работы
Всегда начинайте с ветки main — в ней хранится “чистая” версия. Для каждой лабораторной работы:
- переходите на main,
- создавайте новую ветку lab_X,
- работайте и пушьте изменения. Повторяйте для каждой лабораторной