Контрольная работа: Система управления версиями программа Git

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Удаленные ветки (имя удаленного репозитория)/(имя ветки)

Клонировали репозиторий.

Если еще кто-то склонировалрепозиторий или кто-то еще правит на сервере данные, то истории продолжаются по-разному:

Для синхронизации служит команда gitfetchorigin

Для создания своей ветки, аналогичной удаленной, можно воспользоваться командой:

Gitcheckout -b (имя ветки) (удаленный репозиторий)/(ветка)

Это дает локальную ветку, над которой можно работать, она будет начинаться там же, где и серверная ветка.

Получение изменений осуществляется командой gitfetch

Примерработы с ветками:

$ git checkout -b iss53

Равнозначно $git branch iss53

$ gitcheckout iss53

$ git checkout master

$ git checkout -b hotfix

$ vim index html

$ git commit -a -m `fixed the broken email address'

$ git checkout master

$ git merge hotfix

Удаление ветки: gitbranch -d hotfix

Можно влить ветку master в iss53: gitmergemaster, а можно ветку iss53 в master.

Перенос на ветку, в которой хотели внести изменения:

$ git checkout master

$ git merge iss53

Теперь можно удалить ветку iss53: $ gitbranch -Diss53

Конфликты при слиянии

Иногда процесс слияния не идёт гладко. Если вы изменили одну и ту же часть файла по-разному в двух ветках, которые собираетесь слить, Git не сможет сделать это чисто.Git не создает новый коммит для слияния. Он приостанавливает этот процесс до тех пор, пока вы не разрешите конфликт вручную. Если вы хотите посмотреть, какие файлы не прошли слияние (на любом этапе после возникновения конфликта), выполните команду gitstatus. Всё, что имеет отношение к конфликту слияния и что не было разрешено, отмечено как unmerged. Git добавляет стандартные маркеры к файлам, которые имеют конфликт, так что вы можете открыть их вручную и разрешить эти конфликты. В верхней части блока (всё что выше =) это версия из HEAD (вашей ветки master, так как именно на неё вы перешли перед выполнением команды merge), всё, что находится в нижней части - содержимое сливаемой ветки. Чтобы разрешить конфликт, вы должны либо выбрать одну из этих частей, либо как-то объединить содержимое по своему усмотрению.

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

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

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

$ gitmergetool

Последует вопрос какой программой для слияния вы хотели бы воспользоваться, просто введите meld и нажмите Enter. Вот как окно программы может выглядеть - рисунок.

Рисунок 6

Примечание: для использования графического инструмента meld он должен быть скачан и установлен. Также существует множество других графических инструментов, которые можно скачать и выбирать наиболее удобный для вас.

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

После чего также осуществляет фиксация изменений и слияние считается завершенным.

Примечание: Для более подробного изучения программы Git можно воспользоваться книгой «ProGit», доступную для чтения на официальном сайте Git: Scott Chacon, Ben Straub«ProGit» Second Edition

2 УстановкаGit на сервере

Для установки Git необходимо посылке скачать файл 64-bitGitforWindowsSetup. Скачается самая актуальная версия.

Рисунок 7 Запускаем файл.

Рисунок 8 Выбираем «Next».

Выбираем директорию, куда будет установлен Git. Выбор папки осуществляется нажав «Browse..». Затем переходим далее - «Next».

Рисунок 9

Выбираем AdditionalIcons для создания иконки на рабочем столе и выбираем далее.

Рисунок 10

Далее будет предложено выбрать имя папки, которая создастся в меню пуск для программы. Также можно не создавать папку в меню пуск выбрав «Don'tcreateaStartMenufolder».

Рисунок 11

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

Рисунок 12

Предполагается выбор быстрых клавиш в зависимости от операционной системы. Выбираем первый вариант и переходим далее.

Рисунок 13

Далее всплывет окно использования не стандартной консоли, а использования консоли git. Выбираем первый вариант. Переходим на следующий шаг.

управление версия файл репозиторий программа git

Рисунок 14

Выбираем первые два варианта и нажимаем Install.

Рисунок 15

Нажимаем Finish. Установка Gitзавершена.

3. Установка программыGit на клиенте

Программа устанавливается одинаково на два компьютера: клиент и сервер. Следовательно, выполняем аналогичные действия, как в пункте 1.2.

После установки программы необходимо ее настроить.

Настройка программы выполнена. Теперь необходимо выполнить настройку клиентской и серверной части программы. Git предоставлет возможность отслеживать файлы, находящиеся в разных директориях на одном ПК (для организации конроля версий собственных проектов), а также возможность организации intranet (internet) работы и отслеживания файлов, когда один компьютер играет роль сервера - места хранения репозитория для организации общего доступа и параллельной работы большинства пользователей. Так как для организации параллельной работы необходимо общее хранилище, с которым и будут работать пользователи. Данное хранилище будет располагаться на отдельном ПК. Следовательно, необходимо организовать разную настройку клиентских компьютеров и компьютера, предназначенного для сервера.

4. Настройка программыGitна клиенте

В системах семейства Windows Git ищет файл .gitconfig в каталоге $HOME (C:\Users\$USER для большинства пользователей). Кроме того, Git ищет файл /etc/gitconfig, но уже относительно корневого каталога MSys, который находится там, куда вы решили установить Git, когда запускали инсталлятор.

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

Чтобы поменять директорию каталога создадим папку HOMEна диске С.

Рисунок 16

Далее заходим в свойства компьютера.

Рисунок 17

И выбираем дополнительные параметры системы. Открываем переменные среды. Также можно просто в поисковой строке ввести «Переменные среды».

Рисунок 18

Создаем переменную HOME. Указываем путь к расположению директории в которой будут храниться настройки git

Рисунок 19

Нажимаем Ок.

Примечание! Устанавливать программу необходимо на диск C. Также переменную создавать обязательно и прописывать прописными буквами (HOME). При установке на другие диски программа работать не будет.

Настройка клиента

Запускаем Gitот имени администратора. В текстовую сроку вводим следующее:

Рисунок 20

Данная команда предназначена для генерации ssh-ключа для получения доступа по локальной сети к компьютеру, являющимся сервером.

На все вопросы утилиты нажимаем "Enter", ничего вводить более не нужно. Все, связка публичного и приватного ключа сгенерирована.

Рисунок 21

Папка со сгенерированным ключем автоматически появится в каталоге C:\HOME. Она сохранена под названием ~/.ssh. Публичный ключ лежит в ~/.ssh/id_rsa.pub. Его содержимое будет в формате:

ssh-rsaAAAAB3NzaC1…….qUMyoofI6HV9B user@DESKTOP-6IA80O6

Рисунок 22

Далее, что следует сделать -- указать имя и адрес электронной почты пользователя. Это важно, потому что каждый коммит в Git'е содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена

Рисунок 23

После установки программы и задания имени, программой будет создан файл .gitconfig в котором будут содержаться все настройки программы. Для просмотра файла необходимо установить текстовый редактор Wim. После задания имени файл с настройками программы будет иметь следующий вид:

Рисунок 24

Настройка Git на клиентской машине закончена. Приступим к настройке сервера.

5. Настройка программыGit на сервере

В системах семейства Windows Git ищет файл .gitconfig в каталоге $HOME (C:\Users\$USER для большинства пользователей). Кроме того, Git ищет файл /etc/gitconfig, но уже относительно корневого каталога MSys, который находится там, куда вы решили установить Git, когда запускали инсталлятор.

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

Чтобы поменять директорию каталога создадим папку HOMEна диске С.

Далее заходим в свойства компьютера.

И выбираем дополнительные параметры системы. Открываем переменные среды. Также можно просто в поисковой строке ввести «Переменные среды».

Рисунок 25

Рисунок 26

Рисунок 27

Создаем переменную HOME. Указываем путь к расположению директории в которой будут храниться настройки git

Рисунок 28

Нажимаем Ок.

Примечание! Устанавливать программу необходимо на диск C. Также переменную создавать обязательно и прописывать прописными буквами (HOME). При установке на другие диски программа работать не будет.

Настройка сервера

На серверном компьютере запускаем Git от имени администратора и создаем пользователяgit с помощью которого можно будет пользоваться репозиторем:

Рисунок 29

Командой Cdбыл выполнен переход в папку HOME, расположенную на диске С. Командой mkdirв данной папке была создана папка .ssh, которая предназначается для хранения сгенерированных на клиентских компьютерах ключей доступа. Если открыть папку HOME после выполнения данных команд, папка будет иметь вид:

Рисунок 30

Затем, нужно добавить открытый SSH-ключ клиента в файл authorized_keys этого пользователя. Ранее, был сгенерирован ключ для клиента. Скопировав файл id_rsa.pubна носитель, копируем его в папку .sshсерверного компьютера. Идалее добавляем в файл authorized_keys:

$ cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys

Илитак:

$ echo 'ssh-rsa....ababbASFf1...... oleg@machine' >> ~/.ssh/authorized_keys

Теперь создаем Git-репозиторий на сервере:

$ cd ~

$ mkdirmyproject.git

$ cdmyproject.git

$ git --bareinit

Создастся папка myproject.git, которая будет выступать репозиторием для нашего проекта.

Рисунок 31

В данной папке также уже создан пустой репозиторий.

Задания для самостоятельной работы:

1. Создать репозиторий с номером бригады на серверном компьютере

2. Добавить в созданныйрепозиторий файл(ы)

3. Изменять содержимое файлов, проверять состояние (команда gitstatus)

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

5. Изменяйте файлы находясь на созданных ветках. Проверяйте изменение содержимого файлов, отправляйте изменения на сервер. На сервере, осуществляя переходы между ветками (созданные клиентские ветки, основная ветка master)

6. Произвести слияние веток на сервере

7. Удалите созданные ветки с сервера

Источник: https://otherreferats.allbest.ru/download/1459891/