Предназначен каламбур - черт возьми? Нет? Хорошо :(

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

Что такое git?

Термин Git очень широко известен в области информатики. Это одна из самых популярных систем контроля версий (VCS). Программисты используют git, потому что его могут использовать несколько разработчиков. Его инструменты предназначены для облегчения разработки проекта несколькими разработчиками.

Он имеет некоторые полезные функции, такие как фиксация, ветвление, клонирование, извлечение и т. Д. Существует множество онлайн-репозиториев, которые разработчики могут использовать для хранения своего исходного кода, некоторые из примеров - GitHub, GitLab и т. д. В этой статье я приведу следующие примеры с использованием GitLab, поскольку наш групповой проект в основном использует GitLab.

Почему GIT?

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

💻 Рабочий процесс Feature Branch

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

📦 Более быстрый цикл выпуска

Git хорошо работает со средами непрерывной интеграции и доставки. Благодаря таким инструментам, как функциональные ветки, распределенная разработка, запросы на вытягивание и стабильное сообщество, Git поможет вашей команде ускорить цикл выпуска. Кроме того, Git поддерживает гибкий рабочий процесс, при котором разработчикам рекомендуется чаще вносить изменения в кодовую базу. Это выгодно для нашей команды, поскольку мы следуем принципам Scrum и Agile.

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

📥 Запросы на вытягивание

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

Основные команды Git

git init (инициализация)

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

git init

git clone

Другой способ инициализировать проект git - клонировать существующий репозиторий. Есть несколько способов клонировать репозиторий, используя SSH и HTTP. Для клонирования репозитория требуется ссылка на репозиторий. В Gitlab он доступен в правом верхнем углу страницы (как вы можете видеть в примере ниже).

Команда clone выглядит следующим образом:

git clone [<repository-link.git>]

git удаленный

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

Следующие команды изменят /.git/config файл репозитория.

git remote add <name> <url>

Пример использования в нашей команде:

git remote add origin https://gitlab.com/user/project.git

git ветка

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

Чтобы перечислить все доступные ветки, мы можем ввести следующее.

git branch

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

git branch <name-new-branch>

Примечание: <name-new-branch> можно называть как угодно.

git checkout

При работе над проектом вам может потребоваться создать несколько веток. Но как мы можем перемещаться между ветвями? git checkout - это команда, которую вы ищете.

git checkout <branch-name>

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

git checkout -b <branch-name>

мерзавец тянуть

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

Основная команда вытягивания выглядит следующим образом:

git pull <remote repository> <branch-name>

Как видно из вышеизложенного, <remote-repositories> указывает удаленный репозиторий, а <branch-name> - это ваша целевая ветка.

Например, чтобы получить данные из ветки master / main, мы можем просто ввести:

git pull origin master

git add

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

git add .

git commit

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

git commit -m "<commit-message>"

git push

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

git push <remote> <branch>

Например, мы хотим отправить локальные изменения в основной ветке на удаленный

git push origin master

git rebase

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

git rebase <base>

git revert

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

git revert <commit>

например, мы можем указать фиксацию, используя SHA фиксации, доступный на странице GitLab, или используя git log

git revert d89a4a40

git статус

git status - простая команда, которая покажет текущие изменения, сделанные после фиксации.

git status

git merge

Слияние происходит после того, как мы закончим вносить изменения в ветку. Другими словами, это помогает вам объединить две истории принудительных фиксаций в одну. Операция слияния выполняется Git автоматически.

Заключение

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