Вы находитесь на странице: 1из 11

Министерство просвещения, культуры и исследований Республики Молдова

Технический Университет Молдовы


Факультет Вычислительной техники, Информатики и Микроэлектроники

ОТЧЕТ
по предмету: Инструменты разработки в WEB

Выполнила: ст. гр. TI-196


Заболотная Яна

Проверил: асис. унив.

Ангилоглу Анна
Кишинев 2021
Цель работы: Знакомство с системой контроля версиями Git.
Задача: Инициализировать локальный репозиторий с папкой. В папке создать файл
index.html, содержащий имя и фамилию студента, группу и факультет, разделенные
запятыми. Индексировать ранее созданные файлы и произвести commit. После
выполнения операции commit создать 10 ветвей, имя которых должно содержать язык
программирования, выбранный студентом. Для каждой ветви создать файл main с
расширением языка программирования, соответствующего имени ветви. В файл добавить
последовательность кода, которая будет выводить “Hello World” для соответствующего
языка программирования. Файл с кодом не нужно компилировать, запускать, т.д. Для
ветви master выполнить merge с каждой из десяти ветвей. В ветви master создать файл
“sha-1-heads.txt”, в который необходимо добавить HEAD всех ветвей в формате:
“Название ветки: HEAD SHA-1 checksum”, для каждой ветви с новой строки. Создать
репозиторий на Github с именем TIDPP, выполнить push из локального репозитория.
Помимо ветви master, в репозитории Github должны присутствовать созданные ранее
десять ветвей. В репозитории Github создать файл “FINAL.txt”, содержащий имя и
фамилию студента. Обновить локальный репозиторий со всеми внесенными изменениями.
Теоретическая справка:
Системы контроля версий (СКВ, VCS, Version Control Systems) - программное
обеспечение, которое позволяет разработчикам сохранять все изменения, внесённые в код.
При возникновении проблем они могут просто откатить код до рабочего состояния и не
тратить часы на поиски ошибок. VCS также позволяют нескольким разработчикам
работать над одним проектом и сохранять внесённые изменения независимо друг от друга.
При этом каждый участник команды видит, над чем работают коллеги.

Системы контроля версий бывают:

 централизованные (CVCS);
 распределённые (DVCS).

CVCS - это более старый вид контроля версий. Они использовались ещё в
семидесятые года. Единое хранилище версий – это центральный репозиторий.
Разработчик работает с локальной копией и отправляет изменения в центральный
репозиторий. Репозиторий виден всем (у кого есть доступ), и обмен кодом – только через
него. Примеры: SVN, Perforce, MS TFS, ClearCase.
DVCS - это «новое течение», первые системы появились в девяностые, начало
2000-х, но массовое распространение получили с 2005 года. Каждый разработчик владеет
копией репозитория, фактически, своим локальным «сервером» контроля версий. Копии
легко создавать: проще экспериментировать с кодом. Передавать изменения можно между
любой парой репозиториев. В распределенных Version Control System нет «главного»
репозитория. Примеры: git, Mercurial, Bazaar.
Сравнение систем контроля версий

1. На DVCS можно всё то же, что и на CVCS.


2. На DVCS проще выполнять слияние ветвей.
3. На DVCS вся история хранится локально. Можно работать оффлайн и работа в
целом быстрее.
4. Более гибкая модель обмена изменениями.
5. Разработчики привыкли к CVCS, нужно перестраиваться.
6. У CVCS ниже «порог вхождения» - для работы с DVCS надо лучше понимать
концепции контроля версий.
7. В мире CVCS есть фаворит – SVN, в DVCS – git.

Ход выполнения работы:

ОТВЕТЫ НА ВОПРОСЫ:

1) Что такое Git?


Git— распределённая система контроля версий, которая даёт возможность
разработчикам отслеживать изменения в файлах и работать над одним проектом
совместно с коллегами. Она была разработана в 2005 году Линусом Торвальдсом,
создателем Linux, чтобы другие разработчики могли вносить свой вклад в ядро Linux. Git
известен своей скоростью, простым дизайном, поддержкой нелинейной разработки,
полной децентрализацией и возможностью эффективно работать с большими проектами.
Подход Git к хранению данных похож на набор снимков миниатюрной файловой
системы. Каждый раз, когда вы сохраняете состояние своего проекта в Git, система
запоминает, как выглядит каждый файл в этот момент, и сохраняет ссылку на этот
снимок.

Преимущества Git:

 Бесплатный и open-source. Можно бесплатно скачать и вносить любые изменения


в исходный код;
 Небольшой и быстрый. Выполняет все операции локально, что увеличивает его
скорость. Кроме того, Git локально сохраняет весь репозиторий в небольшой файл без
потери качества данных;
 Резервное копирование. Git эффективен в хранении бэкапов, поэтому известно
мало случаев, когда кто-то терял данные при использовании Git;
 Простое ветвление. В других системах контроля версий создание веток—
утомительная и трудоёмкая задача, так как весь код копируется в новую ветку. В Git
управление ветками реализовано гораздо проще и эффективнее.
2) Что такое Github?
GitHub — сервис онлайн-хостинга репозиториев, обладающий всеми функциями
распределенного контроля версий и функциональностью управления исходным кодом —
всё, что поддерживает Git и даже больше. Обычно он используется вместе с Git и даёт
разработчикам возможность сохранять их код онлайн, а затем взаимодействовать с
другими разработчиками в разных проектах.
К проекту, загруженному на GitHub, можно получить доступ с помощью
интерфейса командной строки Git и Git-команд. Git — это инструмент, позволяющий
реализовать распределённую систему контроля версий, а GitHub — это сервис для
проектов, использующих Git.

3) Разница между CVCS и DVCS

1. На DVCS можно всё то же, что и на CVCS.


2. На DVCS проще выполнять слияние ветвей.
3. На DVCS вся история хранится локально. Можно работать оффлайн и работа в
целом быстрее.
4. Более гибкая модель обмена изменениями.
5. Разработчики привыкли к CVCS, нужно перестраиваться.
6. У CVCS ниже «порог вхождения» - для работы с DVCS надо лучше понимать
концепции контроля версий.
7. В мире CVCS есть фаворит – SVN, в DVCS – git.

Ход выполнения работы:


1) После установки Git, необходимо настроить две глобальные переменные
конфигурации user.name и user.email, которые представляют собой подписи
коммитов. С их помощью ясно, кто вносил изменения в код.
2) git init - инициализация локального репозитория ;
3) git
add
-

добавление файла в локальный репозиторий


4) git status - просмотр текущих изменений
5) git commit -m “initial commit” - запись индексированных изменений в репозитории,
сопровождаемая комментарием

6) Для создания ветвей и добавления к ним файла необходимо выполнить ряд


последовательных команд, к которым относятся следующие две:
- git branch имя ветви - создание ветви;
- git checkout ‘имя ветви’ - переключение контроля на созданную ветви и
работа в ее пределах;
7) git remote add origin адрес репозитория - связывания локального репозитория с
удаленным, назначение удаленного репозитория основным (origin)
8) git push -u origin master - отправка изменений в удаленный репозиторий

9) git push --set-upstream origin имя ветки - публикация локальной ветви в удаленном
репозитории (рис. 12); --set-upstream делает ветвь в удаленном репозитории
отслеживаемой и связанной с локальной;
10) git pull - слияние локальной ветви с удаленной
КОМАНДЫ GIT:
1. git init - инициализация нового репозитория;
2. git clone - получение репозитория по существующему URL, создание копии удал.
репозитория на локальном компьютере;

3. git status - перечисляет все файлы, которые необходимо commit; состояние файлов;

4. git log - история изменений для текущей ветви;

5. git branch - показывает все ветви в текущем репозитории;

6. git checkout - переход из одной ветки в другую;

7. git merge - слияние веток в текущую;

8. git add - добавляет файл в в область подготовленных файлов;

9. git commit - данные, которые находятся в index переносятся в репозиторий,


устанавливаются соответствующие ссылки на это данные;

index - список файлов, за которыми Git следит;


10. git reset –hard - переместит вашу текущую ветвь в указанный commit, и вы
потеряете все изменения в своем рабочем дереве . Кроме того, если вы переходите
к какому-то более старому коммиту, а новые коммиты не находятся в какой-то
другой ветке, вы также потеряете эти новые коммиты;

11. git pull - извлекает и объединяет изменения на удаленном сервере в ваш рабочий
каталог;

12. git push - отправляет commit изменения основной ветки в удаленный репозиторий;

13. git remote - используется для подключения локального репозитория к удаленному


серверу;

14. git config - устанавливает соответственно имя автора и адрес электронной почты,
которые будут использоваться при ваших коммитах;
Выводы: На данной лабораторной работе мы ознакомились с системой контроля
версиями Git.

Вам также может понравиться