courses:programming:pull_request_creation_steps
Содержание
Пошаговая инструкция по отправке работ на 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:
Шаги
- Войти в аккаунт на 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