Что такое Git? Руководство для начинающих по управлению версиями Git

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

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

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

Вот что мы рассмотрим в этой статье:

Что такое Git?

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

Чтобы проверить, установлен ли на вашем компьютере уже Git, вы можете ввести команду git --versionв терминале.

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

Что такое GitHub?

GitHub - это продукт, который позволяет размещать ваши проекты Git где-нибудь на удаленном сервере (или, другими словами, в облаке).

Важно помнить, что GitHub - это не Git. GitHub - это просто хостинг. Есть и другие компании, предлагающие услуги хостинга, которые делают то же самое, что и GitHub, например Bitbucket и GitLab.

Как начать работу с Git?

Терминал vs графический интерфейс

Вы можете использовать Git, набирая команды в терминале, или вы можете использовать графический пользовательский интерфейс (GUI), такой как Sourcetree или GitKraken.

Если вы выберете терминал, вам нужно будет посмотреть, какие команды Git вам понадобятся.

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

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

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

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

Как подготовить папку проекта в Git?

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

Если это новый проект, нам нужно создать новую папку проекта (подсказка: мы можем использовать mkdir команду), а затем перейти в эту папку проекта в терминале.

Если бы нам нужно было выбрать существующий проект, мы просто переходим в эту папку проекта в терминале.

В нашем примере мы создадим новую папку проекта с именем novel.


Создание папки нашего проекта

Как создать репозиторий Git?

Как только мы окажемся в папке нашего проекта, чтобы начать использовать Git, нам нужно будет создать (или инициализировать) репозиторий с помощью git init команды.

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

Чтобы увидеть, что Git делал за кулисами, нам нужно просмотреть наши скрытые файлы. Обязательно откройте папку проекта в файловой системе. Затем, если вы используете Mac, вы можете выбрать Command + Shift + Dot, чтобы увидеть скрытые файлы в вашей файловой системе. Если вы работаете в ОС Windows, вы можете изменить настройки просмотра, чтобы просматривать скрытые файлы в файловой системе.

Чтобы просмотреть скрытые файлы в терминале, мы можем использовать команду ls -a.

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

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

Что такое репозиторий Git?

Хранилище является .git папка внутри нашей папки проекта. Он будет отслеживать все изменения, внесенные в файлы в нашем проекте, и записывать эту историю с течением времени.

Репозиторий, который у нас есть на нашем компьютере, называется локальным репозиторием.

Ранее мы упоминали такие услуги хостинга, как GitHub, GitLab и Bitbucket. Когда мы отправляем (другими словами загружаем) наш локальный репозиторий в одну из этих служб, то репозиторий, который находится в этой службе в облаке, называется удаленным репозиторием.

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

Как сотрудничать с другими разработчиками с помощью Git?

Если другой разработчик хочет сотрудничать с нами в нашем проекте, он может клонировать (или, другими словами, загрузить) удаленный репозиторий из службы хостинга, которую вы загрузили на свой компьютер.

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

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


Удаленный репозиторий и локальные репозитории

Как Git отслеживает изменения?

Чтобы сохранить разные версии нашего проекта в Git, мы будем делать коммиты.

Что такое коммит Git?

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

Как сделать коммит в Git?

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

Рабочий каталог в основном представлен содержимым нашей папке проекта (подсказка: каталог это то же самое , как папку). Это что-то вроде рабочего стола, на котором мы можем добавлять, редактировать и удалять файлы в нашем проекте.

Промежуточная область и история коммитов являются частью нашего репозитория.

Плацдарм вроде как черновик пространства. Здесь мы можем добавить обновленные версии файлов или удалить файлы, чтобы выбрать, что мы хотим включить в нашу следующую фиксацию (версию нашего проекта). В .git папке промежуточная область представлена ​​файлом с именем index.

И, наконец, история коммитов - это в основном то, где наши коммиты живут после того, как они были сделаны. В .git папке история коммитов представлена ​​папкой с именем objects.


Рабочий каталог, репозиторий, промежуточная область и история фиксации

Типичный рабочий процесс Git

Шаг 1 - Редактировать файлы

Если у вас есть новый проект, вы создадите самый первый файл в своем новом проекте. В novelпапке нашего проекта мы создадим простой текстовый файл с именем chapter1. Мы можем сделать это либо с помощью текстового редактора, либо прямо в терминале. В нашем примере мы делаем это прямо в терминале, набрав touch chapter1.txt.

Если у вас есть существующий проект, вы отредактируете некоторые из существующих файлов, добавите новые файлы или удалите файлы.

Далее мы можем использовать git status команду. Эта команда сообщит нам состояние нашего рабочего каталога и промежуточной области, а также сообщит, есть ли между ними какие-либо различия.

Добавление файла в наш проект

В нашем примере мы добавили только один новый файл в наш новый проект. Когда мы используем git status команду, Git сообщает нам, что у нас есть неотслеживаемый файл в нашем рабочем каталоге и что нам нужно использовать git add команду, чтобы включить его в то, что будет зафиксировано. Это приводит нас к шагу 2.

Наш файл находится в рабочем каталоге

Шаг 2 - Добавьте файлы в промежуточную область

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

Добавление файла в область подготовки

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

Наш файл находится в промежуточной зоне

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

Шаг 3 - Сделайте фиксацию

Наконец, чтобы сделать фиксацию, мы используем ggit commit команду с -m опцией и, например, передаем сообщение фиксации git commit -m "this is the first commit".

Делаем нашу первую фиксацию

Затем мы можем использовать git log команду, чтобы перечислить все коммиты, которые есть в нашем проекте, в обратном хронологическом порядке. В нашем примере у нас только одна фиксация.

Мы сделали нашу первую фиксацию

Теперь мы сделали первый коммит в нашем проекте! Другими словами, мы сохранили первую версию нашего проекта.

У фиксации есть 40-символьный хеш фиксации. Совершить хэш 40 букв и цифр, которые выступают в качестве имени для совершения или способ ссылаться на него.

Мы также можем видеть такую ​​информацию, как кто совершил фиксацию, когда была сделана фиксация, и сообщение фиксации.

Что такое история коммитов в Git?

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

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

Простая история коммитов

Что такое ветка в Git?

Филиал является указателем фиксации. Ветвь по умолчанию в Git называется master или main.

Мы можем видеть, что ветка является указателем на фиксацию, перейдя в .git папку, а затем открыв refs папку, открыв heads папку и, наконец, открыв файл с именем master. Внутри этого файла мы обнаружим хэш. Это хэш коммита, на который указывает наша основная ветка.

Мы можем снова использовать эту git log команду для вывода списка всех коммитов в нашем репозитории, и мы обнаружим, что этот хэш совпадает с коммитом, master рядом с которым есть метка в круглых скобках.

Показываем главную ветку в нашей папке .git

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

Показываем главную ветку, указывающую на нашу фиксацию

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

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

Отображение нашей истории фиксации и главной ветки, указывающей на нашу последнюю фиксацию

Если вы зашли так далеко, поздравляем! О Git можно узнать еще много, и в этой статье мы коснулись лишь поверхности.

Комментарии ()

    Написать комментарий