Путеводитель по Git. Часть 1.

Git — это популярнейшая распределенная система контроля версий. Для тех,  кто совсем не знаком, с тем, что из себя представляют VCS(Version Control System) и зачем они нужны, пару слов мы все же скажем. Мы часто работаем с исходными файлами программ и вносим в них какие-то изменения. Когда вы работает в команде, еще важнее оказывается хранить историю внесенных изменений и копию проекта на момент внесения этих изменений. В этом случае можно легко и быстро определить источник ошибки, откатить измененные файлы до последнего стабильного состояния и попытаться понять, что же пошло не так. Использование VCS повышает скорость и эффективность разработки программного обеспечения и в принципе дает возможность разработчикам вместе работать над одним проектом. Обычно системы контроля версий имеет какое-то централизованное хранилище, из которого можно получить копию нужного документа и работать с ней локально. Как только работа будет выполнена и тщательно протестирована, можно подтвердить эти изменения в основном проекте.

Установка Git.

Заходим на официальный сайт и скачиваем Git для нужной платформы. Запускаем инсталлятор, выбираем нужные настройки и двигаемся дальше. На этом останавливаться подробно не будем.

git

Создание репозитория.

Чтобы начать работать с новым репозиторием, его можно либо непосредственно создать в любом каталоге файловой системы либо импортировать, например, из удаленного репозитория. В Git при этом создастся локальная копия исходного репозитория, то есть разработчик в любом случае будет взаимодействовать только со своей рабочей версией у себя на компьютере. Затем, в случае необходимости, он может передать все новые данные в удаленный репозиторий(команда push). Но обо все по порядку. Давайте для начала создадим новый репозиторий у себя на компьютере.

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

git_ex_1

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

Для работы с конфигурацией Git используется команда git config. Давайте с ее помощью зададим имя владельца репозитория и его email. Заданные значения устанавливаются применительно только к текущему репозиторию. Мы могли бы выполнить эту команду с флагом —global. Записав команду git config —global user.name «name», мы бы установили глобальное значение.

git_ex_2

Для просмотра результата выполнения команд наберите git config —list для просмотра всего набора настроек.

git_ex_3

В последних строках вы как раз и можете увидеть указанные нами значения.

Для просмотра состояния репозитория используется команда git status. Давайте выполним эту команду до выполнения каких-либо других действий:

git_ex_4

После выполнения данной команды Git говорит нам, что мы находимся на ветке master(о ветках подробно мы еще поговорим) и что коммитить нам сейчас нечего(то есть фиксировать какие-то изменения в файлах), так как в нашей папке пока еще нет никаких файлов. В скобках собственно и говорится о том, что скопируйте в данный каталог какие-то файлы и выполните команду git add, чтобы файл проиндексировался и Git начал слежение(track) за данными файлами(отслеживать изменения).

Теперь допустим, что у нас есть проект, за которым мы хотим следить. Давайте добавим в наш репозиторий какой-нибудь проект. На самом деле вы можете просто добавить какие-то текстовые файлы и на их примере точно также осваивать работу с Git. У меня есть небольшой тестовый проект на Spring, я буду работать с ним.

git_ex_5

Итак, мы добавили файлы, изменения которых хотим отслеживать. Вызовем команду git status и посмотрим, изменилось ли что-то.

git_ex_6

Ага. Теперь Git говорит нам, что в каталоге появились untracked files(неотслеживаемые файлы), то есть файлы, которые не находятся под управлением Git. Чтобы указать Git, что эти файлы нужно отслеживать, выполним команду git add <имя файла> (ниже Git также нам об этом сообщает). Если вы добавили сразу несколько новый файлов и хотите начать их отслеживать, то можно выполнить команду git add . с точкой в конце, которая добавляет сразу все файлы. Обычно в этом нет необходимости.

git_ex_7

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

git_ex_8

Открывается окно редактора Vim. Это текстовый редактор, который открывается, чтобы мы могли написать комментарий к нашему коммиту, например, о том, какие изменения мы сделали. Я написал просто init, так как это был наш первый коммит и с его помощью мы зафиксировали только начальное состояние.

Теперь у многих новичков или у людей, не работающих до этого в Linux, возникает такой забавный вопрос: а как отсюда выйти?:D На самом деле вопрос прост — нужно почитать документацию. Но если сейчас вам этого делать не хочется, то небольшая подсказка. Нажмите Esc. Vim перейдет в режим командной строки, в которой вы можете набирать команды. Нажмите двоеточие : и вы увидите его внизу командной строки — это означает, что мы больше не редактируем текст, а находимся в режиме для ввода команд. Набираем q и радуемся жизни).

git_ex_9

Также мы могли использовать в команде git commit ключ -m для указания сообщения. Иногда так удобнее. Например: git commit -m «comment».

Теперь посмотрим на результат работы команды git status:

git_ex_10

Git говорит нам, что коммитить нам нечего и никаких незафиксированных изменений не было. Вы можете самостоятельно поэкспериментировать. Например, изменить какой-то файл. Давайте попробуем. У меня есть вот такой файл со стартовой страничкой index.html.

git_ex_11

Открою его в Notepad++. Это обычная стартовая страничка с приветствием Hello, World!

git_ex_11_notepad

Теперь изменю файл.

git_ex_11_notepad_2

Сохраняю изменения и возвращаюсь к Git. Набрав команду git status, вижу следующее

git_ex_12

Итак, есть незафиксированные изменения в файле index.html, и Git предлагает нам выполнить commit, перед этим нужно выполнить git add. Выполним наш второй коммит:

git_ex_13

Коммит прошел успешно. А напоследок мы познакомимся с командой git log. Наберите ее для просмотра истории коммитов.

git_ex_14

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *