Инициализация локального репозитория

GitBeginner
Практиковаться сейчас

Введение

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

Обычная папка станет проектом с контролем версий. Git делает это, создавая скрытый каталог .git, в котором хранятся история, метаданные и ссылки.

Этот скрытый каталог — внутренняя база данных репозитория. Видимые файлы — это содержимое проекта, а .git — механизм, который Git использует для хранения версий и связей между коммитами.

Процесс состоит из трёх основных этапов:

  • Инициализация: настройка репозитория.
  • Добавление в индекс: подготовка файлов к сохранению.
  • Коммит: сохранение снимка файлов в истории репозитория.

К концу лабораторной работы у вас будет локальный репозиторий Git с первым закоммиченным файлом.

Создайте каталог проекта project_x

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

Сначала откройте терминал. Сейчас вы находитесь в каталоге /home/labex/project. С помощью команды mkdir создайте каталог с именем project_x.

Выполните следующую команду:

mkdir project_x

Теперь перейдите в созданный каталог с помощью команды cd:

cd project_x

Важно находиться именно в том каталоге, где вы хотите инициализировать Git. Проверить текущий путь можно с помощью команды pwd:

pwd

В выводе должен появиться путь /home/labex/project/project_x.

Инициализируйте Git внутри каталога с помощью git init

На этом шаге вы превратите обычный каталог в репозиторий Git. Этот процесс называется «инициализацией».

Выполните следующую команду внутри каталога project_x:

git init

Вы должны увидеть вывод, похожий на этот:

Initialized empty Git repository in /home/labex/project/project_x/.git/

Эта команда создаёт скрытый подкаталог .git. В нём находятся все необходимые метаданные и база объектов, которые Git использует для отслеживания проекта. Изменять содержимое .git не требуется, но важно знать, что этот каталог существует.

Таким образом, git init ничего не «загружает» и сам по себе не создаёт историю. Команда только подготавливает каталог, чтобы Git мог локально отслеживать будущие снимки проекта.

Проверить наличие каталога можно, выведя все файлы, включая скрытые:

ls -a

В списке должен присутствовать .git.

Создайте файл readme.txt

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

Создайте простой текстовый файл с именем readme.txt. Команда echo позволяет одновременно создать файл и записать в него текст.

Выполните следующую команду:

echo "This is my first git project" > readme.txt

Эта команда создаёт файл readme.txt с содержимым «This is my first git project».

Проверьте, что файл создан:

ls

В списке должен появиться readme.txt.

Проверьте состояние репозитория с помощью git status

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

Команда git status — одна из самых полезных команд Git. Она показывает, какие файлы отслеживаются, какие изменены, а какие добавлены в индекс для коммита.

Выполните команду:

git status

Вы должны увидеть вывод, похожий на этот:

On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
 readme.txt

nothing added to commit but untracked files present (use "git add" to track)

Обратите внимание: readme.txt указан в разделе Untracked files. Это означает, что Git видит файл, но пока не отслеживает изменения в нём.

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

Добавьте файл в область подготовки с помощью git add

На этом шаге вы переместите файл в «область подготовки» (её также называют индексом). В области подготовки формируется снимок набора изменений перед добавлением в основную историю репозитория.

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

Чтобы начать отслеживать readme.txt и добавить его в область подготовки, используйте команду git add:

git add readme.txt

Теперь снова проверьте состояние репозитория:

git status

Вывод должен выглядеть примерно так:

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
 new file:   readme.txt

Обратите внимание: теперь readme.txt находится в разделе Changes to be committed. Это означает, что файл добавлен в индекс и готов к коммиту.

Поэтому Git часто описывают как рабочий процесс с тремя состояниями: файлы в рабочем дереве, изменения в области подготовки и снимки в истории коммитов.

Закоммитьте файл с помощью git commit -m

На этом шаге вы окончательно сохраните изменения, находящиеся в области подготовки, в истории репозитория. Это действие называется «коммитом».

Коммит сохраняет снимок проекта и требует сообщения с описанием изменений. Флаг -m позволяет передать это сообщение непосредственно в командной строке.

Выполните следующую команду, чтобы создать коммит:

git commit -m "Initial commit"

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

[master (root-commit) 1a2b3c4] Initial commit
 1 file changed, 1 insertion(+)
 create mode 100644 readme.txt

Теперь в последний раз проверьте состояние репозитория:

git status

В выводе должно быть указано:

On branch master
nothing to commit, working tree clean

Это означает, что рабочий каталог соответствует последнему коммиту в репозитории. Вы успешно сохранили первую версию проекта!

Итоги

В этой лабораторной работе вы успешно инициализировали локальный репозиторий Git. Вы научились:

  1. Создавать каталог проекта.
  2. Инициализировать Git с помощью git init.
  3. Создавать новый файл.
  4. Проверять состояние репозитория с помощью git status.
  5. Добавлять файл в область подготовки с помощью git add.
  6. Добавлять файл в историю репозитория с помощью git commit.

Это основные команды, которые вы будете ежедневно использовать при работе с Git. Теперь вы умеете отслеживать изменения, сохранять версии и управлять историей проекта.