Файл: Задание Дайте определения понятиям Git (Гит).docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.01.2024

Просмотров: 20

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Задание № 1. 

Дайте определения понятиям: 

Git (Гит) –  распределённая система контроля версий, которая даёт возможность разработчикам отслеживать изменения в файлах и работать над одним проектом совместно с коллегами.
GitHub (Гитхаб) – то инструмент, позволяющий реализовать распределённую систему контроля версий.
Репозиторий GIT – Репозиторий Git или репозиторий — это папка, в которую Git отслеживает изменения. На компьютере может быть любое количество репозиториев, каждое из которых хранится в собственной папке.
Локальный репозиторий –  это репозиторий,  расположенный на локальном компьютере разработчика в каталоге.
Удаленный репозиторий – это репозиторий,  размещенный в локальной или интернет сети
Fork (Форк) –  Использование кодовой базы программного проекта в качестве старта для другого, при этом основной проект может как продолжать существование, так и прекратить его.

Обновиться из апстрима –  – обновить свою локальную версию форка до последней версии основного репозитория, от которого сделан форк.
Обновиться из ориджина – обновить свою локальную версию репозитория до последней удалённой версии этого репозитория.
Clone (Клонирование) – это процесс создания точной копии объекта, часто в рамках парадигмы программирования на основе экземпляров или объектно-ориентированного программирования (ООП)
Branch (Ветка) – это отдельная история изменений (коммитов) в рамках одного репозитория. Git поощряет создание отдельных веток для каждой решаемой задачи, благодаря чему и достигается эффективная параллельная работа — каждый разработчик может работать со своей историей и не бояться, что изменения в чужом коде повлияют на его работу.
Master (Мастер) – это инструмент, помогающий пользователю быстро и наглядно осуществить те или иные настройки в компьютерной программе (например — установки опции для той или иной операции), интерактивная функция в графическом интерфейсе пользователя, которая представляет собой последовательно сменяющие друг друга диалоговые окна для выполнения определённой задачи, которую можно разбить на этапы (шаги).

Commit (Коммит) - это фиксация изменений в истории проекта (изменения, которые внесены в индекс). Коммит хранит изменённые файлы, имя автора коммита и время, в которое был сделан коммит. Кроме того, каждый коммит имеет уникальный идентификатор, который позволяет в любое время к нему откатиться. Можете считать коммит этакой точкой сохранения.
Pull (Пул) – – слияние состояния удаленного репозитория и локального (обычно — в отдельной ветке). Пулл может выполняться как для одной и той же ветки (с одинаковым именем), так и для разных. Пулл являет собою обычный мердж, но целевая ветка при этом находится не в том же репозитории, в котором выполняется пулл, а в удаленном.
Push (Пуш) – обратный пуллу процесс. При пуше изменения из локального репозитория переносятся в удаленный. Пуш обновляет состояние текущей ветки в удаленном репозитории и не является мерджем (не создает дополнительные коммиты и не может привести к конфликтам). Если в ветке удаленного репозитория присутствуют коммиты, которых нет в локальном репозитории, сигнализируется ошибка о несовпадении истории изменений (non fast-forward merge), пуш выполнить не получится
Pull Request (Пулреквест) –  это процесс облегчения совместной работы разработчиков в Bitbucket. Они обеспечивают удобный веб-интерфейс для обсуждения предлагаемых изменений до их включения в официальный репозиторий проекта.
Merge (Мёрдж) –  объединение двух или более веток. В процессе мерджа изменения с указанной ветки переносятся (копируются) в текущую. Целевая ветка мерджа — ветка, изменения с которой объединяются с текущей веткой.
Кодревью – это проверка исходного кода для исправления ошибок и улучшения качества программы, а также для совершенствования навыков разработчика. Это способ узнать, как код видят другие разработчики, что в нём непонятно и почему одни решения лучше других. Код-ревью проектов. Проекты проходят автоматические тесты, но ревью наставника возможно только при обучении с наставником.
Локальные СКВ (системы контроля версий)- это система, регистрирующая изменения в одном или нескольких файлах с тем, чтобы в дальнейшем была возможность вернуться к определённым старым версиям этих файлов (типичный пример: выложили версию в проду, начали работу над новыми фичами и вдруг обнаружились ошибки. Нужно не потеряв новых наработок вернуться к рабочей версии, исправить ошибки).


Централизованные СКВ - представляют собой приложения типа клиент-сервер, когда репозиторий проекта существует в единственном экземпляре и хранится на сервере. Доступ к нему осуществлялся через специальное клиентское приложение. В качестве примеров таких программных продуктов можно привести CVS, Subversion.
Распределенные СКВ - В таких системах как Git, Mercurial, Bazaar или Darcs, клиенты не просто забирают последние версии файлов, а полностью копируют репозиторий. Поэтому в случае, когда "умирает" сервер, через который шла работа, любой клиентский репозиторий может быть скопирован обратно на сервер, чтобы восстановить базу данных. Каждый раз, когда клиент забирает свежую версию файлов, создаётся полная копия всех данных.
Задание № 2.
Обратная разработка (обратное проектирование, обратный инжиниринг, реверс-инжиниринг; англ. reverse engineering) - метод исследования устройств или программного обеспечения с целью понять принцип его работы или обнаружить недокументированные возможности. В информационной безопасности она занимает значительную роль.

Перечислить и описать принципы архитектуры фон Неймана:

  1. Использование двоичной системы счисления в вычислительных машинах. Преимущество перед десятичной системой счисления заключается в том, что устройства можно делать достаточно простыми, арифметические и логические операции в двоичной системе счисления также выполняются достаточно просто.

  2. Программное управление ЭВМ. Работа ЭВМ контрол