Пошаговая инструкция по отправке работ на Github для чайников

Предварительная подготовка

Данные шаги нужно сделать только один раз в самом начале:

Установить git. Для Ubuntu делается так: sudo apt install git

Настроить git config (как указано здесь Как настроить git config)

git config –local user.email <your-email>, где <your-email> – почта, на которую зарегистрирован github аккаунт

git config –local user.name <your-github-login>, где <your-github-login> – ваш логин (не ссылка) на github'е

Флаг –local задаёт конфиг только для текущего репозитория. Если вы хотите настроить конфиг для всей системы (и всех репозиториев), то необходимо использовать флаг –global

Создать ssh токен для работы с github:

Создание ssh токена

Добавление ssh токена в свой аккаунт

Шаги

Войти в аккаунт на github и перейти в нужный репозиторий

СКопировать ссылку для скачивания

Открыть терминал и перейти в папку, куда будет скачан репозиторий: cd path/to/the/dir

Скачать репозиторий при помощи git: git clone <link>, где <link> – это скопированная ссылка из шага 2

Открыть скачанный репозиторий. Папка называется также как и имя репозитория

Создать новую ветку для работы: git checkout -b <Фамилия>_<Имя>_<имя-работы>. Внимание, если вы используете репозиторий повторно (например, хотите сдать уже вторую лабораторную работу), то перед созданием новой ветки необходимо переключится на основную ветку main: git checkout main

Создать с таким же названием, как и ветка: mkdir <Фамилия>_<Имя>_<имя-работы>. Внутри этой папки создать папку src

Скопировать файлы следующим образом:

Файлы с исходным кодом скопировать в <Фамилия>_<Имя>_<имя-работы>/src

Отчёт (если требуется) скопировать в <Фамилия>_<Имя>_<имя-работы>. Внимание, отчёт должен называться аналогично ветке и папке: <Фамилия>_<Имя>_<имя-работы>.pdf

Добавить новую папку в git-индекс: git add <Фамилия>_<Имя>_<имя-работы>. Если скопированы лишние файлы, то можно поотдельности добавлять файлы, например: git add <Фамилия>_<Имя>_<имя-работы>/src/main.c

Создать коммит. Сообщение должно содержать ваши Фамилию, Имя и название работы. Можно использовать имя ветки: git commit -m «<Фамилия>_<Имя>_<имя-работы>: lab done»

Отправить ветку на сервер github: git push origin <Фамилия>_<Имя>_<имя-работы>

Перейти в репозиторий на github'е и открыть вкладку «Pull requests»

Нажать кнопку «New pull request»

В пунтке «base» выбрать ветку main, в пункте «compare» выбрать <Фамилия>_<Имя>_<имя-работы>

Нажать кнопку «Create pull request»

Указать в названии <Фамилия>_<Имя>_<имя-работы>

Пример

Пример будет показан для следующих данных:

Репозиторий moevm/pr-2024-4341

Фамилия: Иванов

Имя: Иван

Имя работы: lb3

Копирование ссылки на репозиторий:

cd education
git clone git@github.com:moevm/pr-2024-4341.git
cd pr-2024-4341
git checkout -b Ivanov_Ivan_lb3
mkdir Ivanov_Ivan_lb3
mkdir Ivanov_Ivan_lb3/src
// Копирование файлов в папку
git add Ivanov_Ivan_lb3
git commit -m "Ivanov_Ivan_lb3: lb3 done"
git push origin Ivanov_Ivan_lb3