Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

Основы работы с данными для ИИ

  1. В начало
  2. Курсы
  3. Осенний семестр
  4. Фундаментальная информатика и ИТ
  5. DataSc101
  6. Основы работы с Git и GitHub
  7. Лабораторная работа 1. Основы работы с Git

Лабораторная работа 1. Основы работы с Git

Требуемые условия завершения
Открыто с: среда, 10 сентября 2025, 00:00
Срок сдачи: вторник, 16 сентября 2025, 00:00

Введение

В этой лабораторной работе вам предстоит познакомиться с одним из основных инструментов разработчика - VCS (системой контроля версий) Git. Эта система позволяет хранить и отслеживать историю изменения файлов в ваших проектах. Без VCS невозможно представить любую командную работу над одним проектом.

Установка и первичная настройка Git

Чтобы проверить, установлен ли на компьютере Git, введите в консоли:

git --version

Если вы получили в ответ строку следующего вида, значит всё хорошо и Git установлен.

> git version <номер версии> 

Если же в консоли вывелась ошибка, перейдите на сайт Git, найдите свою операционную систему и следуйте инструкциям установщика (можно оставить все дефолтные параметры).

Следующие действия нужно проделывать каждый раз перед началом работы с git, если вы работаете не со своего личного компьютера (например, из компьютерного класса). На своём личном компьютере это необходимо сделать только один раз, при установке. Выполните следующие команды, чтобы Git мог узнать, кто сделал изменения в коде:

git config --global user.name "Имя Фамилия"

Обязательно возьмите имя и фамилию в кавычки, иначе сохранится только часть до пробела. Теперь надо установить свою электронную почту (запомните её, она нам понадобится далее)

git config --global user.email your_email@example.com

Осталось прописать последнюю конфигурационную команду, связанную с политикой GitHub относительно именования веток (ухода от названия главной ветки в репозитории master в сторону названия main).

git config --global init.defaultBranch main

Готово! Git установлен и готов отслеживать ваши изменения.

Регистрация на GitHub и генерация токена

Вы можете сейчас подумать: "Мы же вроде бы установили Git, что ещё за GitHub?". Краткий ответ на этот вопрос:

Git - это сама программа, которая осуществляет контроль версий. Она делает репозитории, которые нужно где-то хранить.

GitHub - это сайт, где можно хранить репозитории, созданные в git

Первое, что вам необходимо сделать - зарегистрироваться на GitHub. Все шаги регистрации стандартные и интуитивно понятны. Не забудьте использовать почту, которую вы указали при конфигурации Git!

С недавнего времени в целях безопасности GitHub разрешает вносить изменения в удалённые репозитории через командную строку только с использованием Personal access token. Поэтому, прежде чем начать работу, нам нужно его получить.

Если хотите сэкономить время - переходите по ссылке (введите пароль от аккаунта, если вас попросят) и переходите к следующему шагу. Если же вы хотите пройти полный путь (а прямой ссылки под рукой зачастую может не оказаться), откройте выпадающий список ниже.

Как найти нужный пункт меню?

1. Авторизуйтесь в GitHub. Вы попадёте на главную страницу. Щёлкните по своей аватарке в правом верхнем углу и в выпадающем меню выберите пункт Settings.

2. Прокрутите открывшееся окно настроек в самый низ до пункта меню Developer settings.

3. В настройках разработчика выберите пункт меню Personal access tokens -> Tokens (classic). В этом разделе выберите пункт Generate new token (classic).

В открывшемся меню необходимо дать токену пояснение, для чего он создаётся (например mmcs-lab). В разделе Select scopes нужно отметить только ону галочку - repo. Опционально можно изменить срок действия токена в разделе Expiration.

После того, как вы проверили все настройки, нажмите на кнопку Generate Token. На странице будет показан сгенерированный токен. Его нужно скопировать и сохранить там где его легко найдёте вы, и не сможет найти никто другой. Обратите внимание: как только вы закроете эту страницу, посмотреть токен уже будет нельзя, и придётся генерировать новый. Сохраните токен и не закрывайте эту вкладку браузера до конца лабораторной, на всякий случай.


Теперь вы сможете авторизоваться во время работы с репозиторием. Это будет необходимо сделать после команды git push в появившемся окне ввода логина и пароля (вместо пароля необходимо ввести токен). 

Рекомендации по оформлению коммитов

Предлагаемый формат коммитов

type(scope): subject

Где:

  • type — тип изменения, fix/feat/build/etc
  • scope — область, которую затронуло изменения, либо номер заявки. Если несколько, писать через запятую. Если вне заявок, пропустить
  • subject — краткое описание проделанной работы. С заглавной буквы. Описание коммитов должно отвечать на вопрос: «Что делает коммит?»

Тип изменения:

  • feat - используется при добавлении новой функциональности приложения
  • fix - если исправили какую-то багу
  • refactor - рефакторинг кода приложения
  • style - исправляем опечатки, исправляем форматирования
  • chore - обычное обслуживание кода
  • revert - отмена изменений
  • perf - оптимизация кода, улучшение производительности
  • docs - всё, что касается документации
  • test - всё, что связано с тестированием
  • build - всё, что связано с билдом
  • ci - всё, что связано с процессом деплоя
  • any - не входящее ни в одну из категорий

Создание локального и удалённого репозитория

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

Запустите Git Bash (либо командную строку) и перейдите в директорию проекта...

cd имя-директории

... и создайте гит-репозиторий в этой директории:

git init

Поздравляем, вы создали свой первый Git-репозиторий! Но теперь нужно сделать одну очень важную вещь: выложить наш локальный репозиторий на GitHub. Для этого, для начала, нам нужно создать удалённый репозиторий на GitHub (тот, что мы только что создали, называют локальным, и он хранится на нашем компьютере, в отличие от удалённого на серверах GitHub). Для этого авторизуйтесь на GitHub, нажмите на + в правом верхнем углу, и выберите там New repository.

В открывшемся окне вам необходимо ввести название вашего репозитория (допустим, lab1). По желанию можете добавить описание. Тип репозитория - Public, чтобы все смогли увидеть ваш репозиторий. Остальные настройки оставьте по умолчанию, сейчас они нас не интересуют. Не забудьте нажать на кнопку Create repository.

Удалённый репозиторий создан! Теперь нам нужно связать наш локальный и удалённый репозитории. Для этого на открывшейся странице скопируйте прямую ссылку на ваш удалённый репозиторий:

Откройте консоль и перейдите в папку с вашим локальным репозиторием. Выполните команду:

git remote add origin <скопированная ссылка>

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

git status

Эта команда позволяет отслеживать текущее состояние вашего локального репозитория. В частности, гит указывает, на какой вы сейчас ветке (должна быть main), а также состояние всех ваших файлов. Как вы заметили, ваш созданный .pas файл подсвечен красным и помещён в категорию Untracked (не в индексе). Это означает, что гит не отслеживает изменения этого файла. Надо это исправить! Для этого введите команду:

git add <имя файла>

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

git commit -m "Initial commit"

В параметре -m мы передаём сообщение для коммита, которое будет отображено в дереве изменений. Обычно в этих сообщениях кратко передают суть изменений, внесённых до этого коммита. Итак, мы зафиксировали изменения, но теперь нужно сообщить удалённому репозиторию о том, что у нас были сделаны какие-то коммиты. Для этого нужно запушить изменения. Чтобы это сделать, выполните команду:

git push -u origin main

В момент выполнения этой команды гит может запросить у вас ввод логина и пароля. В этом случае в поле логина введите почту, которую вы использовали при регистрации, а в поле пароля - токен, который вы сгенерировали выше. (На новых версиях гита доступна возможность просто войти в аккаунт через браузер). Обновите страницу вашего удалённом репозитория на GitHub. Там должен появиться ваш файл, а также должно отображаться сообщение коммита.


Работа с гитом

Итак, вы прошли долгий путь, и теперь самое время отправить что-нибудь на GitHub. Выполните следующие задания и следите за изменениями в Git после каждого из ваших действий, чтобы лучше понять, как оно всё работает.

Задание 1. 

Создайте текстовый файл и поместите его в папку с локальным репозиторием (папка lab1 или другая, если вы на прошлом этапе назвали ее по-другому)

Сделайте коммит и запушьте изменения в удалённый репозиторий. Убедитесь, что файл изменился на GitHub.

Подсказка. Используйте команды:

git add ваш файл
git commit -m "Ваше сообщение"
git push

Задание 2. 

Создайте еще один-два файла (текстовых/файлов с кодом/других файлов), снова сделайте коммит и отправьте изменения в удаленный репозиторий. Вы можете вызвать команду 

git status, чтобы посмотреть текущее состояние ветки

Замечание. Чтобы не делать git add для каждого файла по отдельности, используйте команду, добавляющую в индекс все файлы в директории:

git add .

В качестве отчета по лабораторной следует прикрепить к заданию ссылку на репозиторий



Шпаргалка


# статус/история

git status

git log --oneline --graph --decorate --all


# индекс/коммиты

git add -A

git commit -m "feat: message"


# ветки/переключение

git switch -c feat/branch

git switch main

git merge feat/branch


# push/pull

git push -u origin feat/branch

git pull --rebase


# отмена/спасение

git restore <file>

git reset HEAD <file>

git revert <hash>




◄ Шпаргалка по Git и GitHub
Лабораторная работа 2. Совместная работа в Git ►
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

          • Probability Theory and Mathematical Statistics

          • Научные Вычислительные Пакеты

          • DataSc101

            • Общее

            • Основы работы с Git и GitHub

              • ЗаданиеЛабораторная работа 1. Основы работы с Git

              • ЗаданиеЛабораторная работа 2. Совместная работа в Git

              • ФайлЛекция 1. Основы работы с Git и Github

            • Работа с Яндекс. Даталенс

            • Анализ данных в Python

            • Тема 4

            • Тема 5

            • Тема 6

            • Тема 7

            • Тема 8

          • NLP (7 семестр)

          • Compiler Development

          • CMVSM

          • АЗПК

          • Frontend

          • ТеорЯП

          • Ruby Eng

          • EngCA&OS

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

        • Информатика-Осень-ПМИ-2

        • Информатика-осень-ПМИ-1

        • ИММвс

        • ФИиТ eng 2025

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ -2025

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Служба поддержки сайта
Вы используете гостевой доступ (Вход)
DataSc101
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика