Обратный звонок
14-03-2017
Андрей Алехин

Git за 100 минут. Настройка репозитория

Надеюсь, что после первого урока вам стало понятно, что такое git, что такое СКВ, и насколько просто установить git на вашу рабочую машину. В этом уроке мы рассмотрим, как создать наш первый репозиторий, как добавлять в него файлы и комментировать их, как работает git; внесем небольшие настройки в конфигурацию git-a и изучим принципы взаимодействия с файлами.

Давайте настроим git. Перед этим надо разобраться, какие файлы необходимо подкорректировать. Когда мы создаем запись в git-е, то есть коммит с файлами. У коммита отображается его автор и почта этого автора. Зачем это нужно? Когда над проектом работает несколько человек всегда важно знать, кто что внес, какие изменения. И если появляется какой-то косяк, то необходимо понять, чьих это рук дело. Именно поэтому после установки git, необходимо указать наше имя и почту. Делается это очень просто. Пишется команда в консоли гитбаша: git config -- global (глобальная настройка, которая будет применяться для всех наших репозиториев на этом компьютере) -- user.name ‘Andrey’. Дальше пишем: git confing -- global user.email a@site.ru. Такие простые две настройки нам для начала нужно сделать. Большего пока не нужно, вполне достаточно. Более того, все эти настройки необходимо делать, если вы будете работать с удаленными репозиториями: битбаки, дитхап. После того, как всё будет корректно настроено, у каждого коммита будет отображаться автор этого коммита и его почта. Видите: коммит «А» - Andrey a@site.ru, «А1» - Vasiliy v@site.ru., «А2» - Ilya i@site.ru.

Git. Пользователи

То есть, мы сделали три коммита от разных людей, и у каждого коммита есть свой автор, даже если сайт создал Андрей – составитель первого коммита. Например, создал файл «1.txt». Потом Василий внес в него изменения, и в истории, в статусах мы увидим, что файл был создан Андреем, а Василий внес изменения. Сможем посмотреть, какие изменения внес Василий. Так мы сможем понять, кто что сделал, и если кто-то прокосячил, найдем автора этого косяка. 

Перед тем как изучать git, необходимо понять, в каких статусах находятся файлы. У нас есть рабочая папка, где лежит проект. Представим, что у нас есть папка с версткой. Назовем ее «work». В этой папке находятся все файлы: index.html, какие-то еще. То есть, основные рабочие файлы, над которыми мы работаем. Здесь же находится git репозиторий, наша рабочая директория git-a, в нашей папке. В ней лежат все файлы, которые мы делаем. Как только мы готовы, чтобы файлы начали отслеживаться git-ом, мы добавляем его в staging area. То есть, мы его подготавливаем для дальнейшей фиксации. Здесь снизу написано «команда» (Add), которая переводит файл из «измененных» в «подготовленные». То есть, мы создали файл 1.txt. Для git-а – это будет не отслеживаемый файл, новый. Если мы его не зафиксируем и захотим обновить наш репозиторий, он сотрется. Потому что он не зафиксирован, не отслеживается, никому не известен. Как только мы пишем «Add 1.txt» - файл становится отслеживаемым, «подготовленным» для дальнейшей фиксации. Staging are – такое место, находящееся в директории .git, где содержатся ссылки на все файлы, которые должны быть в дальнейшем зафиксированы в нашем репозитории.

Git. Подготовленные файлы

Зафиксированные находятся в репозитории .git. Чтобы зафиксировать файл, необходимо записать специальную команду commit. Наш файл из «подготовленных» попадает в «зафиксированные», и оттуда уже никуда не пропадет. Если мы загрузим это куда-нибудь на сервер и захотим посмотреть и загрузить всю эту информацию с другого компьютера, то загрузятся уже все необходимые файлы. Еще раз повторюсь, если Андрей создал файл 1.txt и ничего с ним не сделал, то Василий, когда попытается загрузить из репозитория всю работу или начать работать, обновить свой рабочий каталог, этот файл не увидит. Более того, если мы добавим его в «подготовленные», Василий его тоже не увидит, потому что его в репозитории не будет. Но как только мы его закоммитим. Василий увидит: «появился новый файл 1.txt, я могу вносить в него изменения, также подготавливать и фиксировать». То есть, у нас есть три состояния файла: новые (измененные), «подготовленные» для добавления в репозиторий (находятся в staging area), и зафиксированные (добавленные в СКВ, уже есть в репозитории). Со всеми этими файлами мы можем работать, они уже никуда не потеряются. 

Git. Фиксирование файлов

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

Перед нами подготовленная машина, на который мы ставили гитбаш. Начнем изучение git-a. Для начала нам необходимо сделать некоторые настройки, о которых мы говорили ранее. Открываем консоль, гитбаш. Вводим git config -- global user.name ‘Andrey’. Далее git config -- global user.email a@site.ru.

Вводим данные пользователя

Мы внесли наше имя и нашу почту. Теперь все эти данные будут в глобальных настройках нашего git-a, на всех репозиториях этого компьютера. Неплохо было бы нам разобраться, где все эти настройки хранятся, как их посмотреть. Посмотреть настройки можно командой git config -- list. И он отобразит нам все настройки, которые на данные момент есть. Находятся они в следующих директориях: глобальные настройки находятся на локальном диске С -> Пользователи -> Имя вашей учетной записи -> .git config. Посмотрим этот файл: name ‘Andrey’, e-mail: a@site.ru. Глобальные настройки находятся на локальном диске С -> Program files -> директория git -> etc -> git config. Все эти настройки менять нет смысла, всё и так прекрасно работает. Но, если вам потребуется, вы будете знать, где что находится. 

GIT. Глобальные настройки

Начинаем работать с git-ом. Я создал специальную папочку «work». В ней находятся два файла contacts.txt (Andrey, Vova, Maksim) и hello.html. Обычный html файл, без тегов, в котором написано hello world. Для начала нам необходимо создать пустой репозиторий git-а. Сделать это можно двумя способами. Открыть контекстное меню и выбрать git init here либо git bash, что более правильно, и написать команду git init. После этого git создаст пустой репозиторий в нашей папке «work». Директория .git. Здесь хранится весь наш репозиторий, все файлы, которые есть. Файлы имеют три состояния: «изменяемые» (рабочая область), «staged» (подготовленные файлы к занесению в репозиторий) и закоммитенные, «зафиксированные» файлы. Изучим команды, которым мы будем пользоваться наиболее часто. Первая команда git status. Она отображает статус наших всех документов и файлов, которые находятся в рабочей директории или подготовлены или закоммитены. Сейчас он показывает, что находимся по git status-у в ветке «мастер». О ветках мы поговорим на следующем занятии. Важно понять, что ветки – виртуальные папки, где хранятся наши проекты. То есть мы проект может ветвить. По git status-у он пишет, что у нас untracked files, то есть не отслеживаемые файлы: «contacts» и «hello». Также он пишет, что нечего добавлять для комментирования потому что файлы не отслеживаются. Предлагает нам сделать команду git add для того, чтобы начать отслеживать файлы, то есть подготовить их к комментированию. Давайте так и поступим. Напишем git add, далее пишем contacts. Чтобы не писать целиком имя файла, я нажимаю клавишу tab, и он автоматически все дополняет. Enter. 

Чтобы узнать продолжение, зарегистрируйтесь => Git за 100 минут

Самые читаемые: