Введение в систему контроля версий GIT

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

Что такое и почему версия контроллера?

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

Сценарий № 1

Представьте себе команду из пяти человек, которые работают над основным исходным кодом, расширяя его возможности. Подумайте, как они могут работать с одним и тем же исходным кодом, не путая друг с другом изменения? Каждый должен знать, что делают четверо других, и в этом не должно быть никакой небрежности. И к концу рабочего дня им приходится тратить некоторое время на координацию работ друг с другом, чтобы, наконец, был сохранен один исходный код. Это выглядит очень беспокойно, и определенно ручное вмешательство в поддержание исходного кода более рискованно. Таким образом, чтобы помочь или сказать автоматизировать все эти версии, над которыми работают все пять программистов, нам нужен правильно написанный контроллер версий, и GIT - одна из них. Существует термин для вышеперечисленных шагов и называется Управление исходным кодом или Управление конфигурацией программного обеспечения (SCM).

Сценарий № 2

Теперь рассмотрим еще один сценарий, в котором помогает автоматизация контроллера версий. Мы написали первую версию кода, и клиент одобрил его установку на рабочем месте, это версия 1.0. Теперь через несколько месяцев клиент предлагает работу по расширению, и вы работаете над ранее написанным для разработки версии 1.1 и отправки клиенту. Но клиент предлагает другой подход, и эта версия 1.1 бесполезна для вас в соответствии с новым подходом клиента. Таким образом, вы отказываетесь от этого и работаете над версией 1.2, которая будет представлена ​​и одобрена. И так далее, вы продолжаете работать над разработкой разных версий. Но не думаете ли вы, что сохранение всех версий вручную и поддержание исходного кода не так уж и грязно? В какой-то момент вам, возможно, понадобится сослаться на версию 1.1, от которой вы отказались и которая вам не пригодится.

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

Различные типы контроллеров версий

Существуют различные типы инструментов, и ниже приведены некоторые из них

  1. Subversion - С тех пор как он был разработан Apache, он широко используется поставщиками Apache.
  2. Гит
  3. базар
  4. ртутный

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

Централизованная система контроля версий (CVCS) Распределенная система контроля версий (DVCS)

1. CVCS

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

2. DVCS

Здесь также у нас есть исходный код на сервере, но наряду с этим мы имеем его как локальную копию на рабочих машинах. Таким образом, даже в случае сбоя на уровне сервера мы можем отразить локальную рабочую копию на сервере после ее восстановления. Это наличие локальной рабочей копии на каждой машине, отвечающей за термин «Dsistriibuted» в DVCS. Git, Mercurial использует распределенную систему контроля версий

Git использует концепцию ветвления или, более технически, называется TBD на основе магистральных разработок. На самом деле это означает, что мы можем создать несколько ветвей из master, и в этих ветвях программисты могут работать и фиксировать свои изменения в этих ветвях, и каждый из этих коммитов отслеживается. И как только клиенты одобрят, мы сможем объединить все ветви с основным кодом в производстве. Таким образом, не влияют на основной исходный код напрямую. Работа с основным исходным кодом напрямую будет более рискованной, и ее следует избегать. Мы можем работать над филиалами и выполнять различные сценарии тестирования, и после того, как окончательная версия стабилизирована и утверждена, мы можем работать над ее объединением, что значительно снижает риск.

Git на самом деле бесплатный и для пользователей Mac, он доступен по умолчанию. В Linux мы можем установить git, а для Windows у нас есть что-то, Git Bash. Есть два самых популярных источника репозитория, где мы можем работать с Git, и это Git Hub и Bit Bucket, а организация выбирает, исходя из своих предпочтений.

Преимущества системы контроля версий GIT

  • Поддерживает как унаследованную форму развития, которая является линейной, так и нелинейной формой развития.
  • Поскольку они распределены по своей природе, меньше волнуйтесь о сбоях одного сервера. Мы всегда можем отразить код из локального репо на сервер.
  • Мы также можем реализовать слой безопасности поверх git, который может назначать ограничения доступа при фиксации и нажатии.
  • Может работать на нескольких платформах, таких как Mac, Linux, Windows и т. Д.
  • Абсолютно бесплатно и с открытым исходным кодом
  • Эффективно и быстро благодаря распределенной природе
  • Четкое отслеживание коммитов, обновлений, возвратов, версий, push и pull
  • Предоставляет GitBash для окон, которые просты в использовании.
  • Есть также различные GUI для работы над GIT
  • Это не требует активного сетевого подключения всегда, так как наличие локального хранилища.

Работа с Git

  • Создайте рабочую ветку из основного источника или из другой ветви в зависимости от требования
  • Клонировать ветку на локальном, используя GitBash для Windows
  • Работайте над веткой и выполняйте модификации или добавление к ней компонентов
  • Зафиксируйте изменения и передайте трекер коммитов
  • Если вам кажется, что коммит не нужен, вы можете вернуть коммит к предыдущему.
  • Если несколько программистов работают в одной и той же ветке, локальное репо должно быть обновлено перед отправкой ваших изменений. Так что выполняйте PULL
  • Теперь вы сможете выполнять PUSH
  • После того как проверка и утверждение кода были выполнены для вашей ветви, мы можем перевести код в рабочую среду, используя ANSIBLE или любым другим способом, который использует организация.
  • Объедините ветку с Мастером, чтобы мы обновили в ней код.

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

Рекомендуемые статьи

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

  1. Команды GIT
  2. Введение в GIT
  3. Git Альтернативы
  4. Что такое Git?
  5. Версии Таблицы
  6. Git Origin Master
  7. Что такое хаб?
  8. Три стадии жизненного цикла Git с рабочим процессом
  9. Как использовать GIT Cherry-pick с примером?