Git — самая популярная система контроля версий (VCS), используемая разработчиками и командами разработчиков для отслеживания изменений, вносимых в исходный код. Фактически, это самая популярная система контроля версий, используемая и в DevOps.
Система контроля версий — это программное обеспечение, которое отслеживает или записывает изменения, вносимые в код программного обеспечения с течением времени, в специальную базу данных, называемую хранилищем. С помощью Git вы можете отслеживать историю проекта и видеть, какие изменения были внесены и кто их внес.
Вы также можете откатить изменения, чтобы вернуться к исходному коду. Кроме того, Git позволяет нескольким людям работать над одним проектом независимо от их местонахождения.
Системы контроля версий можно разделить на две категории: централизованные и распределенные.
Что такое централизованная система контроля версий.
В централизованной системе все пользователи подключаются к центральному серверу, чтобы получить копию программного кода и поделиться ею с другими. Примеры централизованных систем контроля версий включают Subversion, которая распространяется по лицензии Apache, и Microsoft Team Foundation Server (Microsoft TFS).
Недостатком централизованной системы контроля версий является наличие единой точки отказа. Когда центральный сервер выходит из строя, члены команды больше не могут работать над проектом вместе.
Что такое распределенная система контроля версий.
В распределенных системах каждый член команды получает копию проекта кода на своем локальном компьютере. Если центральный сервер выходит из строя, пользователи могут без проблем синхронизировать код программного обеспечения с другими.
Вы можете отслеживать изменения, внесенные в код, и легко сотрудничать над проектом с другими членами команды.
Распределенная система контроля версий Git широко распространен и используется как небольшими компаниями, так и крупными предприятиями для эффективного управления программным кодом. По этой причине это один из наиболее востребованных навыков для разработчиков или тех, кто занимается разработкой программного обеспечения.
Поэтому, если вы ищете работу разработчика программного обеспечения, имейте в виду, что знание Git является обязательным условием. Вы должны хорошо знать и понимать этот инструмент системы контроля версий.
В этой статье познакомимся с основами Git и рассмотрим, как эффективно управлять своим кодом.
Введение в Git и GitHub
Мы не можем говорить о Git, не упомянув GitHub. Эти два понятия переплетены и часто идут рука об руку. На самом деле многие люди думают, что Git и GitHub — это одно и то же. Однако это две отдельные вещи, которые интегрируются друг с другом.
GitHub — это платформа хостинга кода для репозиториев Git. По сути, это веб-сайт, на котором разработчики и менеджеры проектов размещают свои программные проекты.
Это позволяет членам команды или разработчикам легко координировать и отслеживать изменения, вносимые в код, а также вносить обновления при необходимости. При этом GitHub способствует сотрудничеству, прозрачности и помогает членам команды работать где угодно и быть в курсе последних изменений, внесенных в код.
В GitHub пакеты можно публиковать публично, обеспечивая доступ к внешнему миру, или конфиденциально внутри членов команды. После публикации кода пользователи смогут загрузить код и опробовать его на своих персональных компьютерах.
GitHub — это онлайн-платформа для размещения кода, которая предоставляет отличный пользовательский интерфейс и позволяет размещать удаленные репозитории Git и работать совместно с другими разработчиками из любой точки мира.
С другой стороны, Git — это то, что обрабатывает операции контроля версий, такие как передача и объединение кода, выполнение коммитов, клонирование репозиториев и т. д. Теперь давайте рассмотрим работу с Git, которые вы можете использовать для работы с GitHub.
Установка Git в Linux.
Прежде чем вы начнете использовать Git, давайте сначала установим его. Если вы используете дистрибутив на основе Ubuntu или Debian, выполните следующие команды, чтобы установить его.
$ sudo apt update $ sudo apt install git -y
Для дистрибутивов на основе Red Hat, таких как RHEL, Fedora, CentOS Stream, AlmaLinux и Rocky Linux, выполните следующие команды dnf:
$ sudo dnf update $ sudo dnf install git -y
Чтобы убедиться, что Git установлен, выполните команду:
$ git --version
git version 1.8.3.1
Инициализация репозитория Git.
Первым шагом в использовании git является инициализация репозитория, которая по сути преобразует каталог в вашей локальной системе в репозиторий git, где будут храниться все файлы вашего проекта и код перед отправкой на GitHub.
Чтобы продемонстрировать это, мы создадим каталог с именем test_repo и перейдем в него.
$ mkdir test_repo $ cd test_repo
Для инициализации репозитория выполните следующую команду:
$ git init

Фиксация изменений в Git.
После инициализации каталога создается скрытый каталог с именем .git, который содержит все файлы, необходимые Git для отслеживания изменений, внесенных в код. Чтобы просмотреть этот каталог, запустите команду ls с параметром -la.
$ ls -la

Отслеживание проекта происходит только после первого внесения изменений. Продемонстрируем это немного позже.
Настройка репозитория Git.
После того как мы инициализировали репозиторий Git, следующим шагом будет установка нескольких переменных конфигурации для Git. Мы добавим имя пользователя и адрес электронной почты, которые будут связаны с коммитами.
Чтобы добавить имя пользователя и адрес электронной почты ко всем коммитам текущего пользователя, выполните следующие команды. Обязательно укажите желаемое имя и адрес электронной почты.
$ git config --global user.name "user" $ git config --global user.email "user@user_mail.com"
Для подтверждения установки переменных выполните команду:
$ git config --list

Добавить файл в репозиторий Git.
Чтобы внести изменения в репозиторий git, необходимо сначала выполните команду git add, а затем git commit. Команда git add добавляет файлы в промежуточную область. По сути, это особая область, где мы предлагаем изменения для следующего коммита.
Создадим файл Python с именем test.py. Чтобы добавить этот файл в промежуточную область, мы выполним следующую команду.
$ git add test.py
Если у вас есть несколько файлов проекта, вы можете добавить их все сразу:
$ git add -A или $ git add -all
Добавив все файлы в промежуточную область, зафиксируйте их в репозитории с помощью команды git commit. Коммит — это что-то вроде снапшота вашего проекта.
$ git commit -m "Описание коммита"
Опция -m позволяет вам прикрепить тег или сообщение к вашему коммиту. Строка в кавычках — это сообщение, связанное с фиксацией. Это послание важно для того, чтобы вспомнить то,для чего делался коммит.
Следующий вывод показывает, что мы успешно зафиксировали изменения в репозитории Git.

Чтобы проверить статус коммитов, выполните команду:
$ git status
Если ожидающих коммитов нет, вы получите уведомление о том, что коммитить нечего.

Теперь давайте создадим еще два файла и проверим статус коммитов.
$ echo "Hello guys" > file1.txt $ echo "git is cool" > file2.txt
Затем проверим состояние промежуточной области.
$ git status
На этот раз вновь добавленные файлы будут отображены и помечены, как «неотслеживаемые». Чтобы Git мог их отслеживать, вам необходимо добавить их в промежуточную область.

Чтобы добавить все файлы сразу, выполните команду:
$ git add .
Обратите внимание, что при этом весь каталог добавляется рекурсивно, поэтому следует проявлять небольшую осторожность. Но, так как у нас всего два файла, воспользуемся именно таким вариантом.
Далее зафиксируем внесенные изменения.
$ git commit -m "Second commit"

Теперь давайте попробуем изменить один файл.
$ echo "Hm, yeah, git is really cool" >> file2.txt
И снова файл отображается при проверки статуса, поскольку внесенные изменения не были зафиксированы.

И снова нам надо добавить измененный файл в промежуточную область.
$ git add file2.txt $ git status
Когда вы проверите состояние промежуточной области, файл опять отобразится и будет готов к коммиту.

Удалить файл из репозитория Git
Предположим, мы понимаем, что файл file2.txt нам больше не нужен в нашем проекте, поскольку в нем есть неиспользуемый код. Вы можете удалить его с помощью команды rm, следующим образом:
$ rm file2.txt
Проверив статус, вы увидите, что удаленный файл все еще присутствует в выводе и что изменение еще не зафиксировано.
$ git status

Мы удалили файл file2.txt из нашего рабочего каталога. Однако он все еще существует в git. Чтобы убедиться в этом, выполните команду:
$ git ls-files

Чтобы выполнить удаление, запустите команду git add:
$ git rm file2.txt
Еще раз посмотрим файлы в промежуточной области.
$ git ls-files
На этот раз вы видите, что file2.txt больше не существует в промежуточной области. Проверив статус, вы увидите, что изменение готово к фиксации.

Итак, теперь давайте подтвердим внесенные изменения.
$ git commit -m "Remove unused files"

Перенос локального репозитория на GitHub
Теперь, когда локальный репозиторий готов, вы можете отправить свой проект на GitHub для совместной работы и предоставления другим пользователям доступа к вашему проекту.
Но обо всем по порядку. Вам необходимо создать учетную запись GitHub, если у вас ее еще нет.
Далее вам нужно создать новый пустой репозиторий. Это репозиторий, в который вы поместите свой локальный репозиторий. Итак, заходим на сайт GitHub и нажимаем кнопку «Sign up».

И создаем новый репозиторий, нажав «New»:

Введите имя репозитория и установите для него значение «Public». Вы можете либо инициализировать файл README, либо нет. Это файл, в котором кратко описывается суть вашего кода. На данный момент это не имеет большого значения.

Затем нажмите кнопку «Create repository», чтобы создать репозиторий с предоставленными данными. В этом примере мы создали репозиторий под названием «test-project».

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

Следующим шагом — включим аутентификацию на GitHub с использованием ключей SSH.
Для этого нажмите на значок своего профиля в правом углу и выберите «Settings».

Затем перейдите к ключам «SSH and GPG key», затем нажмите «new SSH key».

Затем скопируйте открытый ключ SSH и дайте ему осмысленное название. Затем нажмите «Add SSH-keys».

Теперь все готово для отправки вашего репозитория на GitHub. Добавьте удаленный репозиторий GitHub, используя синтаксис команды git remote add.
$ git remote add origin [адрес удаленного репозитория]
В приведенном выше синтаксисе «remote» обозначает версию удаленного репозитория, а «origin» — это имя, присвоенное удаленному серверу.
В моем случае команда будет выглядеть так:
$ git remote add origin https://github.com/user_name/test-project.git
После этого запустите команду git push, чтобы отправить локальный репозиторий на GitHub. Здесь master — это имя ветки по умолчанию.
$ git push -u origin master

Когда вы посетите свой репозиторий на Github, вы увидите все файлы вашего проекта.

В дальнейшем, если вы хотите добавить новый файл в свой репозиторий, просто повторите те же шаги: добавьте файл в промежуточную область, зафиксируйте его и отправьте изменения в репозиторий.
$ git add -A $ git commit -m "Описание коммита" $ git push -u origin master
Обновление локального репозитория с изменениями, внесенными на GitHub.
Команда git pull используется для обновления локального репозитория за счет изменений в удаленном репозитории. По сути, он загружает изменения, внесенные в код, на GitHub и соответствующим образом обновляет локальный репозиторий в вашей системе. Он сочетает в себе команды git fetch и git merge.
Я добавил файл README в удаленном репозитории, размещенном на GitHub.

После этого, я синхронизировал удаленный и локальный репозиторий, скачав данные следующей командой:
$ git pull git@github.com:user_name/test-project.git

Клонирование репозитория Git.
Команда git clone загружает точную копию файлов проекта в репозиторий GitHub. Вы можете клонировать общедоступный репозиторий в любой системе или каталоге, используя следующую команду:
$ git clone [URL удаленного репозитория]
На странице проекта GitHub нажмите «Код» и скопируйте URL-адрес, как показано ниже.

Затем клонируйте репозиторий Github, следующей командой:
$ git clone git@github.com:user_name/test-project.git
После выполнение будет загружен весь репозиторий вместе с файлами проекта.

Заключение.
В этом статье рассмотрели основные команды для работы с Git. Так же, узнали, как отправить ваш репозиторий на GitHub для совместной работы. Получилась, довольно большая статья. Но хотелось затронуть по максимуму в минимальном объеме. Думаю, теперь вы можете безе проблем начать работу с Git.
Was this helpful?
0 / 0