-
Сделать
fork
репозитория -
Склонировать
fork
репозиторияgit clone https://github.com/<your username>/HSE-Course.git
-
Перейти в директорию
cd HSE-Course
-
Синхронизировать
fork
с репозиторием курсаgit remote add upstream https://github.com/morell5/HSE-Course.git
-
Вывести
remote
git remote -v
-
Запретить
push
в репозиторий курсаgit remote set-url --push upstream no_push
-
Сверить вывод в терминале
origin https://github.com/morell0809/HSE-Course.git (fetch) origin https://github.com/morell0809/HSE-Course.git (push) upstream https://github.com/morell5/HSE-Course.git (fetch) upstream no_push (push)
-
Из
master
ветки создать ветку под задачуgit checkout -b <название задачи>
-
Перейти в директорию с задачей
Пример:
module-1/homework/BigInteger
-
Прочитать условие задачи
task.md
-
Написать решение задачи в файлах
<имя задачи>.cpp
(реализация)<имя задачи>.h
(интерфейс)
-
Протестировать решение
cmake -G "Unix Makefiles" -B build -S.
cmake --build build
-
Добавить файлы на удаленный репозиторий
git add <имя задачи>.h <имя задачи>.cpp git commit -m "ваше сообщение" git push
-
После выполнения задания сделать
PR
вmaster
Замечание:
ветка с задачей не будет вливаться в master
ветку
-
В любой папке директории выполнить:
git fetch upstream
-
Перейти в
master
ветку на локалиgit checkout master
-
Подкачать измения из
master
ветки репозитория курсаgit merge upstream/master master
-
Приступить к решению новой задачи
-
Перейти в
master
git checkout master
-
Подкачать обновления с репозитория курса
git fetch upstream
-
Перейти к актуальному
master
git reset --hard upstream/master
-
Переписать изменения в
fork
git push -f