Поиск по сайту:

Как использовать систему контроля версий Git в Linux [Подробное руководство]


Контроль версий (контроль версий или контроль версий) – это способ записи изменений в файле или коллекции файлов с течением времени, чтобы вы могли позже вызвать определенные версии. Система контроля версий (или сокращенно VCS) – это инструмент, который записывает изменения в файлах в файловой системе.

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

Системы/инструменты контроля версий предлагают несколько функций, которые позволяют отдельным лицам или группам людей:

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

Проект в системе контроля версий, такой как Git, будет состоять в основном из трех разделов, а именно:

  • репозиторий: база данных для записи состояния или изменений файлов вашего проекта. Он содержит все необходимые метаданные и объекты Git для нового проекта. Обратите внимание: обычно это то, что копируется при клонировании репозитория с другого компьютера в сети или на удаленном сервере.
  • рабочий каталог или область: хранит копии файлов проекта, с которыми вы можете работать (добавлять, удалять и выполнять другие действия по изменению).
  • промежуточная область: файл (известный как индекс в Git) в каталоге Git, в котором хранится информация об изменениях, которые вы готовы зафиксировать (сохранить состояние файла или набора файлов) в репозитории.

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

  • Централизованные системы контроля версий (CVCS): здесь каждый член проектной группы получает свой собственный локальный рабочий каталог, однако они фиксируют изменения только в одном центральном репозитории.
  • Распределенные системы контроля версий (DVCS): каждый член проектной группы получает свой собственный локальный рабочий каталог и каталог Git, где он может делать коммиты. После того как человек делает коммит локально, другие члены команды не могут получить доступ к изменениям, пока он/она не отправит их в центральный репозиторий. Git — это пример DVCS.

Кроме того, репозиторий Git может быть пустым (репозиторий, у которого нет рабочего каталога) или непустым (репозиторий с рабочим каталогом). каталог). Общие (или публичные, или центральные) репозитории всегда должны быть пустыми – все репозитории Github пусты.

Изучите контроль версий с помощью Git

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

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

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

Чтобы установить Git в Linux, используйте команду, соответствующую вашему дистрибутиву:

sudo apt install git   [On Debian/Ubuntu]
sudo yum install git   [On CentOS/RHEL]

После установки Git рекомендуется сообщить Git, кто вы, указав свое полное имя и адрес электронной почты, как показано ниже:

git config --global user.name “Aaron Kili”
git config --global user.email “[email ”

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

git config --list 

Создает новый репозиторий Git.

Общие репозитории или централизованные рабочие процессы очень распространены, и это то, что мы покажем здесь. Например, мы предполагаем, что вам было поручено настроить удаленный центральный репозиторий для системных администраторов/программистов из различных отделов вашей организации для работы над проектом под названием bashscripts, который будет храниться в папке . >/projects/scritpts/ на сервере.

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

mkdir-p /projects/scripts/
groupadd sysadmins
usermod -aG sysadmins admin
chown :sysadmins -R /projects/scripts/
chmod 770 -R /projects/scripts/

Затем инициализируйте пустой репозиторий проекта.

git init --bare /projects/scripts/bashscripts

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

ls -la /projects/scripts/bashscripts/

Клонировать репозиторий Git

Теперь клонируйте удаленный общий репозиторий Git на свой локальный компьютер через SSH (вы также можете клонировать через HTTP/HTTPS, если у вас установлен и соответствующим образом настроен веб-сервер, как это случай с большинством публичных репозиториев на Github), например:

git clone ssh://admin@remote_server_ip:/projects/scripts/bashscripts 

Чтобы клонировать его в определенный каталог (~/bin/bashscripts), используйте команду ниже.

git clone ssh://admin@remote_server_ip:/projects/scripts/bashscripts ~/bin/bashscripts

Теперь у вас есть локальный экземпляр проекта в нечистом репозитории (с рабочим каталогом). Вы можете создать исходную структуру проекта (т. е. добавить README.md ). , подкаталоги для разных категорий скриптов, например, recon для хранения разведывательных скриптов, sysadmin ro для хранения скриптов системного администратора и т. д.):

cd ~/bin/bashscripts/
ls -la

Проверьте сводку статуса Git

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

git status 

Изменения этапа Git и фиксация

Затем внесите все изменения с помощью команды добавления с переключателем -A и выполните первоначальную фиксацию. Флаг -a указывает команде автоматически помещать измененные файлы, а -m используется для указания сообщения фиксации:

git add -A
git commit -a -m "Initial Commit"

Публикация локальных коммитов в удаленном репозитории Git

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

git push origin master

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

git status

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

Создайте новую ветку Git

Ветвление позволяет вам работать над функцией вашего проекта или быстро устранять проблемы, не затрагивая базу кода (основную ветку). Чтобы создать новую ветку и затем переключиться на нее, используйте команды branch и checkout соответственно.

git branch latest
git checkout latest

Альтернативно вы можете создать новую ветку и переключиться на нее за один шаг, используя команду checkout с флагом -b.

git checkout -b latest

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

git checkout -b latest master

Чтобы проверить, в какой ветке вы находитесь, используйте команду ветки (звездочка указывает активную ветку):

git branch

После создания и перехода на новую ветку внесите в нее некоторые изменения и выполните несколько коммитов.

vim sysadmin/topprocs.sh
git status
git commit add  sysadmin/topprocs.sh
git commit -a -m 'modified topprocs.sh'

Объединение изменений из одной ветки в другую

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

git checkout master 
git merge test 

Если вам больше не нужна определенная ветка, вы можете удалить ее с помощью переключателя -d.

git branch -d test

Загрузка изменений из удаленного центрального репозитория

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

git pull origin
OR
git pull origin master	#if you have switched to another branch

Проверьте репозиторий Git и выполните сравнения

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

Первая функция — это журнал Git, который отображает журналы коммитов:

git log

Еще одной важной функцией является команда show, которая отображает различные типы объектов (например, коммиты, теги, деревья и т. д.):

git show

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

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

git diff master latest

Читайте также: 10 лучших альтернатив Git для размещения проектов с открытым исходным кодом

Краткое содержание

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

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