Skip to content

Задачи группы 110 набора 2023

Notifications You must be signed in to change notification settings

sergadin/110-2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

110-2023

Задания по программированию для студентов 110-ой группы набора 2023 года.

Как работать

Каждый заводит себе директорию, название которой начинается с его фамилии. Например, IvanovIvan. В свои файлы создаете только в своей директории. Файлы в чужих директориях не изменяем! (Конечно, ничего страшного не случится даже если вы случайно удалите чужой файл, но НЕ ДЕЛАЕМ ЭТОГО). Все делаем внутри "своей" директории.

После некоторых начальных действий, которые нужно выполнить один раз, сценарий работы такой.

  • Создаем в "своей" директории новую директорию для задачи. Пусть её имя X.
  • Создаем там нужные файлы, решаем задачу, исправлем ошибки.
  • Когда закончена логическая часть (либо вообще все), то добавляем измененные или созданные файлы в коммит (набор изменений). Команда git add.
  • Сохранем сделанные изменения командой git commit (можно считать, что add и commit - две части одного действия).
  • Отправляем коммит на сервер (только после этого я смогу его увиеть).

Бонус! Вы можете смотреть код своих одногруппников!

Регистрация

  1. Регистрируемся на сайте github.com. Логин выбираете любой.

  2. Присылаем мне свой логин. Логин нужен для того, чтобы выдать вам права.

Регистрация ключа доступа для сайта github.com

  1. Создаем SSH-ключ. Инструкция на английском языке для разных систем. https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

  2. Добавляем его в свой профиль на github. https://docs.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

Если у вас Linux

Действия, которые нужно выполнить только один раз

В приведенных ниже командах в качестве примера используется имя Afonin_SA. Вам нужно заменить его на свой логин.

  1. Создаем на своем компьютере копию репозитария

Выполняем команду

cd
git clone [email protected]:sergadin/110-2023.git

В текущей директории должна появиться директория 110-2023.

  1. "Представляемся".

Для корректного отображения вашей работы на сайте нужно указать свои данные. Выполняем следующие команды. Напишите свое реальное имя и адрес электронной почты!

git config --global user.email "ВАШ EMAIL адрес"
git config --global user.name "ВАШЕ ИМЯ"

Имя и адрес электронной почты указываются в кавычках.

  1. Создаем свою директорию

Например (замените Afonin_SA на свой логин во всех командах!)

cd 110-2023
mkdir Afonin_SA
touch Afonin_SA/.gitkeep
  1. Сохраняем сделанное изменение
git add Afonin_SA
git commit -m "Добавлена директория для пользователя Afonin_SA" Afonin_SA
  1. Отправляем изменения не сервер github.com
git push

Если команда git push выдает ошибку, то значит кто-то другой вас "опередил" со своими изменениями. В этом случае выполняем

git fetch
git rebase

и после этого повторяем git push.

Перед началом решения задачи

  1. Создаем директорию для задачи с номером x.y. Вместо Afonin_SA подставляем название своей директории. Например, для задачи 1.12 выполняем команды вида
mkdir ~/110-2023/Afonin_SA/1.12
cd ~/2023-21-109/Afonin_SA/1.12

Теперь нашей текущей (или рабочей) директорией является 1.12. Посмотреть название текущей директории можно командой pwd (print working directory).

Пишем решение задачи

В директории для задачи (в нашем примере ~/110-2023/Afonin_SA/1.12) создаем файлы так, как привыкли. Компилируем, запускаем и т.п.

Сдача задачи

  1. Сохраняем результаты (коммит)
git add ИМЕНА_ФАЙЛОВ
git commit -m "Решение задачи x.y"

Имена файлов указываются через пробел. Перечислять нужно только те файлы, которые вы написали (создали или изменили). Например, git add find_root.h find_root.c Makefile.

Изменения, которые были внесены с момента последнего коммита, можно посмотреть командой

git status .

Если вы хотите посмотреть, что было изменено в конкретном файле, например, find_root.c, то нужно ввести команду

git diff find_root.c

Она показывает изменения по сравнению с предыдущим коммитом.

Комментарий (в примере выше это "Решение задачи x.y") должен кратко описывать то, что было сделано. "Исправлена ошибка...", "Улучшено форматирование" и т.п.

Коммитов может быть много. Сделали что-то логически законченное - выполнили commit. Система контроля версий git позволяет просматривать историю изменений и, при необходимости, "возвращаться" к старой версии. Это удобно, если внесенные исправления что-то случайно испортили.

  1. Отправляем результаты на сервер
git fetch
git rebase
git push

Первая команда скачивает на ваш компьютер чужие изменения (если кто-то успел выложить свое решение за то время, когда вы делали свое). Вторая - "применяет" эти изменения к вашей рабочей директории (у вас появятся чужие файлы). Третья команда передает ваши изменения на сервер.

  1. Пишем письмо с просьбой посмотреть решение

ЕСЛИ ЧТО-ТО НЕ ТАК

Если вы сделали какие-то изменения, которые не хотите сохранять, то всегда можно вернуться к последнему коммиту. Команда

git reset --hard

Например, случайно удалили файл. Внимание Эта команда отменит все исправления (во всех файлах!), которые вы делали с последнего коммита. Поэтому коммиты можно делать часто. Получилось что-то законченное (например, написали функцию) - сделали коммит.

Windows

Сначала читаем, как работать в Linux. Здесь аналогично, но программа другая. То, что в Linux делается командами, в этой программе делается нажатием на кнопки и через выпадающее меню.

  1. Установить Github Desktop https://desktop.github.com/

  2. File -> Clone repository Выбираем вкладку URL и вводим адрес [email protected]:sergadin/110-2023.git

  3. Заходим в директорию 110-2023 (в проводнике) Там, куда вы ее сохранили на предыдущем шаге.

  4. Создаем "свою" директорию.

  5. Переключаемся в Github Desktop Должны увидеть список изменений.

  6. Вводим комментарий (внизу экрана) и нажимаем commit

  7. Справа появится кнопка push

Не создавайте файлы, которые заканчиваются на пробел или слеш (/)!

About

Задачи группы 110 набора 2023

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published