Файл: Настройки доступа к репозиторию.docx

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

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

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

Добавлен: 05.12.2023

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

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

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Практическая работа 7Тема: Настройки доступа к репозиторию.Целью работы является получение практических навыков ра-ботысдепозитарием проектаGithub.КРАТКИЕТЕОРЕТИЧЕСКИЕСВЕДЕНИЯGit – распределѐнная система управления версиями. Проектбыл создан для управления разработкой ядра Linux, первая версиявыпущена7апреля2005 года.GitHub–крупнейшийвеб-сервисдляхостингаIT-проектови ихсовместнойразработки.Средипроектов,использующихGit –ядроLinux,Swift,Android, Drupal, Cairo, GNU Core Utilities, Mesa, Wine, Chromium,CompizFusion,FlightGear,jQuery,PHP,NASM,MediaWiki,DokuWiki,Qt,ряддистрибутивов Linux.ПрограммаявляетсясвободнойивыпущенаподлицензиейGNUGPLверсии2.ПоумолчаниюиспользуетсяTCPпорт9418.Ядро Git представляет собой набор утилит командной строки спараметрами. Все настройки хранятся в текстовых файлах конфигурации. Такая реализация делает Git легко портируемым на любуюплатформу и даѐт возможность легко интегрировать Git в другиесистемы (в частности, создавать графические git-клиенты с любымжелаемыминтерфейсом).Репозиторий Git представляет собой каталог файловой системы, в котором находятся файлы конфигурации репозитория, файлыжурналов,хранящиеоперации,выполняемыенадрепозиторием,индекс, описывающий расположение файлов, и хранилище, содержащее собственно файлы. Структура хранилища файлов не отражает реальную структуру хранящегося в репозитории файлового дерева, она ориентирована на повышение скорости выполнения операций с репозиторием. Когда ядро обрабатывает команду изменения(неважно, при локальных изменениях или при получении патча отдругого узла), оно создаѐт в

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

По умолчанию репозиторий хранится в подкаталоге с названием «.git» в корневом каталоге рабочей копии дерева файлов, хранящегося в репозитории. Любое файловое дерево в системе можно превратить в репозиторий git, отдав команду создания репозитория из корневого каталога этого дерева (или указав корневой каталог в параметрах программы). Репозиторий может быть импортирован с другого узла, доступного по сети. При импорте нового репозитория автоматически создаѐтся рабочая копия, соответствующая последнему зафиксированному состоянию импортируемого репозитория (то есть не копируются изменения в рабочей копии исходного узла, для которых на том узле не была выполнена команда commit).

В первую очередь надо установить клиент git: обязательно потребуется консольный клиент, доступный по ссылке http://git- scm.com/downloads (поддерживаются основные ОС), графический кли ент можно установить по желанию, исходя из своих предпочтений.

Далее работа с git будет объясняться на примере работы с консольным клиентом по следующим причинам:


  • Чтобы складывалось понимание происходящего и при возникновении проблем вы могли четко объяснить, что вы делали, и было видно, что пошло не так.

  • Все нажатия кнопок в графических клиентах в итоге сводят к выполнению определѐнных команд консольного клиента, в то же время возможности графических клиентов ограничены по сравнению с консольным

  • У тех, кто будет работать в классе на стоящих там компьютерах, не будет другого выбора, кроме как пользоваться консольным клиентом (на сколько мне известно, никаких графических клиентов для git там не установлено)

Аккаунтирепозиториинаgithub.com.Длятогочтобыиспользовать web-сервис репозитория необходимо зарегистрироватьсянаhttps://github.com/.Послечегоможнобудетсоздаватьсвоирепозиторииилиприсоединитьсякработенадпроектамиколлег,сделавкопию(fork)другогорепозитория.Вампредлагаетсяначатьссоздания fork-а к заведенному репозиториюhttps://github.com/andreiled/mipt-cs-4sem.Создание локального репозитория, связанного с удаленнымрепозиторием. Следующим шагом после создания репозитория наgithub, называемого далее удаленным репозиторием, является создание локальной копии этого репозитория на своем компьютере.Особенностью git является наличие на локальном компьютере полной копии репозитория со всей информацией об истории изменений.Воспользовавшись командой git status можно узнать, на какойветке (branch) репозитория вы сейчас находитесь, какие измененияприсутствуютввашейрабочейкопиии другуюинформацию.Рабочей копией называется совокупность файлов в локальнойпапкерепозиториязаисключениемслужебныхфайлов.После внесения каких-либо изменений в рабочую копию ихможно«закоммитить»влокальный репозиторий:

  • сначала нужная часть изменений подготавливается к коммиту с использованием команды git add %file_path%

  • после чего производится коммит командой git commit Использование команды без аргументов откроет текстовый редактор, где надо будет написать комментарий для коммита, коммит обязательно должен иметь комментарий.
Историюизмененийможнопосмотреть
командойgitlogилиgit log --name-only. Если вся история изменений не умещается наэкране, то можно пользоваться клавишами прокрутки на клавиатуре(«стрелочки», PgUp, PgDown), выход из режима просмотра измененийосуществляетсянажатием клавиши«q».Загрузка локальных изменений в удаленный репозиторий. После того, как были выполнены нужные локальные коммиты, изме-нения можно загрузить в удаленный репозиторий с помощью ко-манды git push origin master. GIT клиент при этом запросит имяпользователяи парольдлядоступакgithub.Выполнение этой команды может закончиться с ошибкой, еслив локально репозитории отсутствуют последние изменения, имею-щиеся в удаленном репозитории. Для решения этой проблемы надовыполнитькомандуgitpull,котораяскачаетпоследниеизмененияиз удаленного репозитория и смержит их с вашими локальнымиправками, послечегоможноповторитькомандуgitpush.ПОРЯДОКВЫПОЛНЕНИЯИЗАДАНИЕДЛЯРАБОТЫ

      1. Зарегистрируйтесь на сервисе https://github.com/.

      2. Создайте локальный репозитарий, связанный с заданным

      3. глобальным репозитарием.

      4. Настройте параметры доступа к локальному репозитарию.

      5. Выполните загрузку изменений выполненных в локальном репозитарии в глобальный репозитарий.
КОНТРОЛЬНЫЕВОПРОСЫ

  1. Какие функции выполняет система контроля версиями?

  2. Что такое локальный депозитарий?

  3. Какие функции выполняет сервис GitHub?

  4. Какие действия нужно выполнить для получения доступа к функционалу GitHub?