From 58205c919f6a8f7cbb1d1d29fd5b5995da15119a Mon Sep 17 00:00:00 2001 From: Aleksey Zubakov Date: Thu, 20 Oct 2022 02:29:38 +0300 Subject: [PATCH] Init commit --- README.md | 12 +++++++ instruction.md | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 README.md create mode 100644 instruction.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a56ab4c --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +# Домашние задания по Unix + +Этот репозиторий содержит домашние задания к курсу Unix. + +## Процесс сдачи + +[Инструкция](instruction.md) -- абсолютно аналогичная инструкция будет и на +Python. + +## Сроки сдачи + +**Дедлайны:** см. в README в соответствующей ветке. diff --git a/instruction.md b/instruction.md new file mode 100644 index 0000000..ffb6a4d --- /dev/null +++ b/instruction.md @@ -0,0 +1,94 @@ +## Процесс сдачи + +Для сдачи домашнего задания Вам необходимо + +0. В идеале, сгенерировать ssh-ключ и добавить его : [инструкция](https://docs.gitlab.com/ee/ssh/#generate-an-ssh-key-pair) и добавить его в свой аккаунт на gitlab: [инструкция](https://docs.gitlab.com/ee/ssh/#add-an-ssh-key-to-your-gitlab-account). + + +1. Первым делом нужно сделать **приватный** форк данного репозитория +(кнопочка Fork вверху репозитрория) и добавить в него меня: + +- Алексей Зубаков: @ottergottaott + +2. Склонировать форк к себе на компьютер: +``` +$ git clone git_url_of_your_repo +``` +где `git_url_of_your_repo` -- url к вашему репозиторию. + +3. Добавить url основного репозитория к своему в качестве remote. + +``` +$ git add upstream ... +``` + +Посмотреть уже существующие remote можно следующей командой: +``` +$ git remote -v +origin git@gitlab.com:aleks.zubakov/unix.git (fetch) +origin git@gitlab.com:aleks.zubakov/unix.git (push) +upstream git@gitlab.com:sl/unix-22.git (fetch) +upstream git@gitlab.com:sl/unix-22.git (push) +``` +`origin` -- Ваш fork. + +4. Выгрузить новые ветки из общего оригинального репозитория, +добавленные преподавателем: +``` +$ git fetch upstream +``` +Новые ветки будут видны в списке всех веток: +``` +$ git branch -a +* master + remotes/origin/HEAD -> origin/master + remotes/origin/hw3 + remotes/origin/master + remotes/upstream/hw3 + remotes/upstream/master +``` + +В данном случае это `remotes/upstream/master` и `remotes/upstream/hw3`. + +Домашки будут выкладываться в ветки вида `hwN`, где `N` -- номер +дз. (_Для магистров Вышки домашнее заданее будет одно, позже дополнительное_). + +Далее Вам необходимо перейти на только что выгруженную ветку и запушить +("отправить") ее в свой форк: +``` +$ git checkout upstream/hw3 +$ git push origin hw3 +``` + +**Никаких изменений в эту ветку вносить не нужно, Вы будете работать с другой веткой!** + +5. Создать ветку вида `hwN-dev`, в которой будет Ваше решение +``` +$ git checkout -b hw3-dev +``` +git автоматически переведет Вас в ветку `hw1-dev`, если нужно перейти в какую-то +другую (в данном случае в main): +``` +$ git checkout main +``` + +6. Внести свои изменения, с помощью команд `git add`, `git commit` сформировать +коммиты с решениями задач (структура комитов остается на Ваше усмотрение). + +7. При готовности запушить рабочую ветку (`hw3-dev`) в Ваш форк: +``` +$ git push origin hw3-dev +``` + +и создать Pull Request. + +Требования к Pull Reguest, где N -- номер домашнего задания: + +- MR должен создаваться из ветки `hwN-dev` в ветку `hwN` Вашего +**приватного** форка; +- MR должен быть назван следующим образом: **Unix. ДЗ N, <Фамилия> <Имя>**; +- В PR нужно добавить меня в качестве Assignee; + +8. Исправления добавляются в ту же ветку в тот же самый PR (новый PR +создавать не нужно) также, как и перед отправкой. Для этого достаточно запушить +изменения в ветку `hwN-dev` и переоткрыть старый PR.